Реальные случаи, когда вы используете шаблон Factory (метод) и преимущества - PullRequest
2 голосов
/ 13 апреля 2010

Можете ли вы дать рекомендации по использованию Фабрика (метод) шаблон ? И вы получили большую выгоду.

Спасибо.

Ответы [ 2 ]

1 голос
/ 13 апреля 2010

Этот шаблон довольно распространен в OO-фреймворках. Он используется, потому что он дает инфраструктуре контроль над созданием объектов. Затем вы можете использовать его для различных целей, кеширования ваших объектов, использования его для принудительного вызова одиночных кодов, проверки ошибок (существует ли запрашиваемый вами объект?), Ведения журнала и почти всего, что вы хотите, когда кто-то создает экземпляр класса.

В качестве побочного эффекта это также создает хороший код. Например в PHP вместо

$person = new Person();
$person->setName('Mike');

вы можете сделать

$person = $this->load('Person')->setName('Mike');
1 голос
/ 13 апреля 2010

.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();
}

Как то так.

...