的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