Pregunta

Existen algunos patrones muy evidentes en uso en el núcleo de Magento, como por ejemplo:

  • Singleton
  • Registro
  • Evento / Observador
  • Fábrica
  • Modelo / Vista / Controlador

Pero hay otros que pueden estar en uso en Magento que no soy consciente de como el actor, patrones decorador, Estrategia.

¿Hay una lista de referencia de la utilización de todo tipo de patrón en Magento o cómo poner en práctica en los módulos de terceros que no innecesariamente replicar la funcionalidad integrada de Magento?

¿Fue útil?

Solución

No es una lista de los patrones de diseño que se utiliza en Magento desbordamiento de pila

Desde el artículo:

Las más obvias son:

fábrica:

$product = Mage::getModel('catalog/product');

Singleton:

$category = Mage::getSingleton('catalog/session');

Registro:

$currentCategory = Mage::registry('current_category');

View Helper:

Mage::helper('core');

Prototipo:

Mage:getModel('catalog/product')->getTypeInstance();

Objeto piscina:

$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()

Lazy carga - colecciones se cargan cuando iterada

Hay también 5 artículos en un blog Ryan Calle sobre MVC, controlador frontal, fábrica, Singleton y registro en Magento

Editar
Debo añadir que el Magento 'Singleton' es más un pseudo-Singleton. Es una combinación de 'fábrica' porque Mago :: getSingleton () es una fábrica y 'Registro', porque dentro del método getSingleton() esto se llama

self::register($registryKey, self::getModel($modelClass, $arguments))
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top