的Magento是一个新望(近5年)基于PHP的电子商务系统的架构是类似于Java Spring框架(或所以我一直在说)Magento类覆盖设计模式的正式名称?
一个框架的特点是某些类不直接实例化。而不是像做
$model = new Mage_Foo_Model_Name();
你传递一个全局应用程序对象
$model = Mage::getModel('foo/name');
上的标识为一个静态方法,这会将该类实例为您服务。
getModel通过此方法获得的一个胜利是为全局配置系统检查foo/name标识符,并实例化它在配置系统中找到的类名称。这使您可以通过单个配置更改来更改Model系统的行为。
是否有正式的四人帮或其他名称描述此系统/设计模式?实例本身看起来像一个典型的Factory模式,但我特别感兴趣的是整个“通过配置覆盖系统中的类”方面。是否有一个涵盖此的名称/概念,还是包含在工厂的世界观中?
是的,类的实例化看起来像一个工厂,但我更感兴趣的是“允许人们通过。配置覆盖事物”方面。更新问题以更好地反映我的想法。 – 2010-04-27 18:51:25