您能提供利用工厂(方法)模式的实践吗?你得到的好处也很大。
谢谢。
发布于 2010-04-13 10:00:43
.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();
}就像这样。
发布于 2010-04-13 10:19:19
这种模式在OO框架中非常普遍。之所以使用它,是因为它使框架能够控制对象的创建。然后,您可以将它用于各种事情,缓存对象,使用它强制单个对象,错误检查(您请求的对象是否存在?)、日志记录以及您希望在某个类实例化时发生的其他任何事情。
作为一个副作用,它也会产生很好的代码。例如,在PHP中而不是
$person = new Person();
$person->setName('Mike');你可以做到
$person = $this->load('Person')->setName('Mike');https://stackoverflow.com/questions/2628482
复制相似问题