Шаблоны проектирования, используемые в Zend Framework
Я готовлю разговор об общей архитектуре Zend Framework
и хотел бы обобщить используемые в нем шаблоны проектирования.
Я считаю, что это будет полезно как для тех, кто знает ZF
и обучения DP
s, так и для тех, кто знает DP
и обучения ZF
. В первом случае можно было бы увидеть приложение реального мира шаблонов и получить лучшее понимание структуры во втором.
Даже краткие ответы в форме Zend_Contoller_Front: Singleton
достаточно хороши, если небольшая разработка (для некоторых не столь очевидных случаев) будет еще лучше.
Меня интересуют шаблоны GoF
, поскольку они кажутся отправной точкой любого приключения DP.
UPD: Не связано напрямую, но для тех, кто знает Java
там чрезвычайно полный ответ для GoF
DP
примеров найденный в ядре Java
.
Ответы
Ответ 1
Так как теперь это CW, я добавлю шаблоны, которые я уже дал в комментариях:
-
Zend_Controller_Front
-
Singleton
-
FrontController
-
Zend_Db_Table
-
Zend_Log
-
Factory Method
-
Adapter
-
Composite
-
Zend_Form
-
Zend_Filter
и Zend_Validator
Ответ 2
Чтобы назвать некоторые шаблоны:
- Образец управляющего контроллера в
Zend_Controller_Front
(index.php +.htaccess)
- Рисунок реестра в
Zend_Registry
- Инъекция зависимостей в контейнере
Zend_Application_Bootstrap_Bootstrap
- Синглтон (в
grep getInstance
)
- Стратегия паттерна в валидаторах
Zend_Form
- Декораторы в декораторах
Zend_Form
- Шаблон адаптера в
| grep adapter
Имена файлов и методов очевидны, поэтому grep
- ваш друг.
Любой доброволец, который редактирует и предоставляет ссылки и пример кода?
Ответ 3
Чтобы предоставить образец того, что я хочу, и помочь тем, кто подозревает, что я прошу других сделать мою работу, лучше оценить, могут ли ответы на этот вопрос помогать кому-то другому (или пытаться изучить DP или ZF), вот пример:
Factory Шаблон метода:
- существует много случаев, когда используется так называемый Simple Factory, и нет ни одного места, где реализован полноценный шаблон метода Factory (как описано в GoF).
- Примеры Simple Factory включают Zend_Cache, Zend_Db, Zend_Log
Ответ 4
Для полноты следует отметить, что Zend_Form использует модифицированный шаблон декоратора. В Zend_Form сгенерированное содержимое оформляется, а не сам объект.
Источник: http://devzone.zend.com/1240/decorators-with-zend_form/