Hay una lista de patrones de diseño que se utilizan en Magento en Stack Overflow
Del artículo:
Los obvios son:
Fábrica:
$product = Mage::getModel('catalog/product');
Único:
$category = Mage::getSingleton('catalog/session');
Registro:
$currentCategory = Mage::registry('current_category');
Ayudante de vista:
Mage::helper('core');
Prototipo:
Mage:getModel('catalog/product')->getTypeInstance();
Grupo de objetos:
$id = Mage::objects()->save($object);
$object = Mage::objects($id);
Iterador:
Mage::getModel('catalog/product')->getCollection();
Evento / oyentes:
Mage::dispatchEvent('model_load_before', $params);
EDITAR
Registro activo
$product->save()
$product->getName()
Objeto nulo
$collection->getFirstItem()
Carga diferida : las colecciones se cargan cuando se iteran
También hay 5 artículos en el blog de Ryan Street sobre MVC, Front Controller, Factory, Singleton y Registry en Magento
Editar
Podría agregar que el 'singleton' de Magento es más un pseudo-singleton. Es una combinación de 'Fábrica' porque Mage :: getSingleton () es una fábrica y 'Registro' porque dentro del getSingleton()
método esto se llama
self::register($registryKey, self::getModel($modelClass, $arguments))