Абстрактная фабрика - для чего?

гемоглобин

Новичок
Я отлично понимаю паттерн "Абстрактная фабрика" по примерам из книжки. Ну, мол, например для windows надо создавать одни объекты (окна, кнопки), для linux другие, поэтому выгодно держать специальный объект, который бы выдавал их по требованию и клиент не должен вообще знать какая ось сейчас используется. Это все здорово. Но я не понимаю, где А.Ф. можно применить в реальном веб приложении, почему-то никогда не возникало такой потребности.
Где вы используете этот паттерн?
 
гемоглобин
в PHP обычно не используют(я не видел). У нас есть autoload :)
и что-то вроде:
PHP:
$classname = 'Someclassname_Driver_' . ucfirst($driverType);
$this->driver = new $classname;
где $driverType - из конфига. Динамический язык все-таки.
 
Adelf
причем тут автолоад?

гемоглобин
Странный вопрос. Используем там, где этого требует задача. Вам задачки придумать?
 
Adelf
причем тут автолоад?

гемоглобин
Странный вопрос. Используем там, где этого требует задача. Вам задачки придумать?

Ну где вы последний раз использовали? Просто почему-то у меня никогда необходимость не возникала (скорее всего возникала, но я этого не понимал).
 
хм... пока использую только параметризированные фабричные методы.
 
Духовность™
Ну, в общем, ты прав. Это не касается самого вопроса. Просто без автолоада довольно проблематично делать так, как указано в моем коде.
 
craz
А вот хз.
Абстрактная фабрика - отдельный паттерн.
а в ПДО скорее всего параметризированный фабричный метод.
Хотя они и родственные, но всё же разные паттерны.
А вот в чем истинная соль отличий я тоже хз.
Не владею настолько.
 
craz
А вот хз.
Абстрактная фабрика - отдельный паттерн.
а в ПДО скорее всего параметризированный фабричный метод.
Хотя они и родственные, но всё же разные паттерны.
А вот в чем истинная соль отличий я тоже хз.
Не владею настолько.


не не не не abstract class Zend_Db_Adapter_Abstract - вот это не абстрактная фабрика?
 
не не не не abstract class Zend_Db_Adapter_Abstract - вот это не абстрактная фабрика?
Та вроде не.
Какая ж там фабрика?
там просто общий функционал и интерфейс....
собсно там в описании так и сказано.
Class for connecting to SQL databases and performing common operations.
 
во я наю значит как
надо поиск по файлам abstarct fabric
 
От практического программирования несколько далек но на сколько знаю этот паттерн у нас используют программисты в сервисе где логика для анонимных пользователей и имеющих учетную запись имеет от силы 0.001 общего кода.
 
Single
скорее всего там используется что-нибудь вроде Special Case.
 
Сверху