Há uma lista de padrões de design que são usados no Magento no Stack Overflow
Do artigo:
Os óbvios são:
Fábrica:
$product = Mage::getModel('catalog/product');
Singleton:
$category = Mage::getSingleton('catalog/session');
Registro:
$currentCategory = Mage::registry('current_category');
View Helper:
Mage::helper('core');
Protótipo:
Mage:getModel('catalog/product')->getTypeInstance();
Conjunto de Objetos:
$id = Mage::objects()->save($object);
$object = Mage::objects($id);
Iterador:
Mage::getModel('catalog/product')->getCollection();
Evento / Ouvintes:
Mage::dispatchEvent('model_load_before', $params);
EDITAR
Registro ativo
$product->save()
$product->getName()
Objeto nulo
$collection->getFirstItem()
Carregamento lento - as coleções são carregadas quando iteradas
Existem também 5 artigos no blog da Ryan Street sobre MVC, Front Controller, Factory, Singleton e Registry no Magento
Editar
Devo acrescentar que o 'singleton' do Magento é mais um pseudo-singleton. É uma combinação de 'Factory' porque Mage :: getSingleton () é uma factory e 'Registry' porque, dentro do getSingleton()
método, isso é chamado
self::register($registryKey, self::getModel($modelClass, $arguments))