您能否提供有关利用工厂(方法)模式的做法? 你获得的好处很大。
感谢。
答案 0 :(得分:1)
.Net System.Data.Common.DbProviderFactory类可用于编写与DB无关的代码。
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 :(得分:1)
这种模式在OO框架中非常普遍。它的使用是因为它为框架提供了对象创建的控制。然后,您可以将它用于各种事物,缓存对象,使用它来强制单例,错误检查(您请求的对象是否存在?),日志记录以及当有人实例化类时您想要发生的其他任何事情。
作为一种副作用,它也可以提供漂亮的代码。例如在PHP中而不是
$person = new Person();
$person->setName('Mike');
你可以做到
$person = $this->load('Person')->setName('Mike');