2
A
回答
1
.Net System.Data.Common.DbProviderFactory类可用于编写与数据库无关的代码。
var factory = DbProviderFactories.GetFactory(/* here you put provider name, e.g. taken from config */);
using (var connection = factory.CreateConnection())
using (var command = connection.CreateCommand())
{
connection.ConnectionString = /* some connection string, e.g. from config */;
command.CommandText = /* some query */;
command.ExecuteNonQuery();
}
就像这样。
1
这种模式在OO框架中非常流行。它的使用是因为它使框架能够控制对象的创建。然后,您可以将它用于各种各样的事情,缓存对象,使用它来强制使用单例,错误检查(您请求的对象是否存在?),日志记录以及在某人实例化类时想要发生的其他任何事情。
作为一个副作用,它也使良好的代码。例如,在PHP,而不是
$person = new Person();
$person->setName('Mike');
你可以做
$person = $this->load('Person')->setName('Mike');
相关问题
- 1. Java工厂方法/单例模式
- 2. 工厂设计模式:工厂可以保存实例吗?
- 3. 方法工厂 - 案例与反思
- 4. 何时使用工厂方法模式?
- 5. 工厂方法模式
- 6. 简单的工厂方法模式考试解决方案
- 7. 工厂方法模式可以使用不同的过载
- 8. 使用弹簧实现工厂方法模式
- 9. 工厂方法模式,以避免基于条件逻辑实例化对象
- 10. 使用一种通用工厂方法创建实例
- 11. 在单实例模式下获得额外收益
- 12. Laravel路由实际使用案例
- 13. 如何使用工厂方法在XAML中实例化对象
- 14. 使用实例工厂方法动态创建原型bean
- 15. 了解工厂方法模式
- 16. 工厂方法模式澄清
- 17. 参数化工厂方法模式
- 18. 工厂方法设计模式
- 19. 工厂模式或扩展方法?
- 20. 继承工厂方法/类模式
- 21. 什么是实施工厂模式的正确方法?
- 22. 实现抽象工厂模式的正确方法?
- 23. 抽象工厂和工厂方法可以一起使用吗?
- 24. 工厂方法实施
- 25. Angularjs工厂方法实现
- 26. 机器学习算法的实际使用案例
- 27. 何时使用激活器以及何时使用工厂方法?
- 28. 使用工厂方法
- 29. Java中的工厂模式示例
- 30. Java通用工厂模式实现
你问的是工厂方法模式或工厂模式? – 2010-04-13 09:57:40
@Mark:都是。他们的目标相似,不是吗? – Ricky 2010-04-15 06:56:50
不是。 **工厂方法**和**抽象工厂**都或多或少具有相同的目标,即将创建与使用分开并实现松散耦合。相反,**工厂**模式或多或少只是描述了一个便利课程,而国际海事组织并不是非常有用。 – 2010-04-15 10:06:29