Domanda

Ci sono alcuni modelli molto evidenti in uso nel nucleo di Magento, come ad esempio:

  • Singleton
  • Registro
  • Evento / Observer
  • Fabbrica
  • Modello / Vista / controller

Ma ci sono altri che possono essere in uso in Magento che io non sono a conoscenza di come Attore, modelli Decorator, di strategia.

Esiste un elenco di riferimento di utilizzo di tutti i tipi di modello di Magento o come implementare in moduli di terze parti che non inutilmente replicare funzionalità incorporata di Magento?

È stato utile?

Soluzione

c'è una lista di modelli di progettazione che vengono utilizzati in Magento su Stack Overflow

Dall'articolo:

I più evidenti sono:

di fabbrica:

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

Singleton:

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

del Registro di sistema:

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

View Helper:

Mage::helper('core');

Prototipo:

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

Oggetto Piscina:

$id = Mage::objects()->save($object);
$object = Mage::objects($id);

Iterator:

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

Evento / ascoltatori:

Mage::dispatchEvent('model_load_before', $params);

Modifica

record attivo

$product->save()
$product->getName()

oggetto Nullo

$collection->getFirstItem()

Pigro di carico - le collezioni vengono caricati quando iterata

Ci sono anche 5 articoli su Ryan via blog su MVC, fronte controller, fabbrica, Singleton e del Registro di sistema in Magento

Modifica
Potrei aggiungere che il Magento 'Singleton' è più una pseudo-Singleton. E 'una combinazione di 'fabbrica', perché Mage :: getSingleton () è una fabbrica e 'Registro', perché all'interno del metodo getSingleton() questo si chiama

self::register($registryKey, self::getModel($modelClass, $arguments))
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top