Существует список шаблонов дизайна, которые используются в Magento на Stack Overflow
Из статьи:
Очевидные из них:
Фабрика:
$product = Mage::getModel('catalog/product');
Синглтон:
$category = Mage::getSingleton('catalog/session');
Реестр:
$currentCategory = Mage::registry('current_category');
Просмотреть помощник:
Mage::helper('core');
Прототип:
Mage:getModel('catalog/product')->getTypeInstance();
Пул объектов:
$id = Mage::objects()->save($object);
$object = Mage::objects($id);
Итератор:
Mage::getModel('catalog/product')->getCollection();
Событие / Слушатели:
Mage::dispatchEvent('model_load_before', $params);
РЕДАКТИРОВАТЬ
Активная запись
$product->save()
$product->getName()
Нулевой объект
$collection->getFirstItem()
Ленивая загрузка - коллекции загружаются при повторении
В блоге Ryan Street есть также 5 статей о MVC, Front Controller, Factory, Singleton и Registry в Magento.
Править
Я мог бы добавить, что «синглтон» Magento - это скорее псевдо-синглтон. Это комбинация 'Factory', потому что Mage :: getSingleton () является фабрикой, а 'Registry', потому что внутри getSingleton()
метода это называется
self::register($registryKey, self::getModel($modelClass, $arguments))