Magento, IMHO, представляет собой систему PHP, которая построена на хорошо продуманных принципах кодирования - одним из них является использование повторяющихся шаблонов дизайна. Что касается примера системы PHP, я думаю, что ее можно считать довольно передовым и, следовательно, стоит рассмотреть с архитектурной точки зрения.
Как я понимаю, существует множество шаблонов проектирования, доступных разработчику ООП. Увидев, что такие шаблоны используются в системе с открытым исходным кодом, такой как Magento, разработчик может просматривать примеры таких шаблонов в реальном использовании и на месте, а не в примерах, которые иногда могут быть довольно академичными и даже немного вводящими в заблуждение.
Как таковой, мне интересно, какие шаблоны, кроме тех, которые я перечислял ниже, программисты Magento использовали при разработке для Magento.
В качестве примечания я понимаю, что некоторые из этих шаблонов существуют на месте, поскольку они основаны на Zend Framework, MVC/Front Controller - это пара из них,
Очевидными являются:
Factory:
$product = Mage::getModel('catalog/product');
Singleton:
$category = Mage::getSingleton('catalog/session');
Реестр:
$currentCategory = Mage::registry('current_category');