Question

Il y a quelques modèles très évidents utilisés dans le noyau de Magento, tels que:

  • Singleton
  • Registre
  • Événement / Observateur
  • L'usine
  • Modèle / Vue / contrôleur

Mais il y a d'autres qui peuvent être utilisés dans Magento que je ne suis pas au courant, comme acteur, décorateur, modèles Stratégie.

Y at-il une liste de référence de l'utilisation de tous les types de modèle dans Magento ou comment mettre en œuvre des modules tiers qui ne se répliquent pas inutilement une fonctionnalité intégrée de Magento?

Était-ce utile?

La solution

Il y a une liste des modèles de conception qui sont utilisés dans Magento sur Stack Overflow

De l'article:

  

Les plus évidentes sont:

     

usine:

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

Singleton:

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

Registre:

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

Voir Helper:

Mage::helper('core');
     

Prototype:

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

Objet Piscine:

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

Iterator:

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

Événements / auditeurs:

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

EDIT

  

Active Record

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

objet Null

$collection->getFirstItem()
     

chargement Lazy - collections sont chargées lorsque itérée

Il y a aussi 5 articles sur rue Ryan blog sur MVC, front Controller, usine, Singleton et registre dans Magento

Modifier Je pourrais ajouter que Magento « singleton » est plus un pseudo-singleton. Il est une combinaison de « usine » parce que Mage :: getSingleton () est une usine et « registre » car à l'intérieur de la méthode de getSingleton() ce qu'on appelle

self::register($registryKey, self::getModel($modelClass, $arguments))
Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top