2010-04-02 66 views
4

Zend Framework FrontController實現了Singleton並且加上它有某種插件「paradigm」, - 它的架構背後有什麼想法,也許它實現了一些衆所周知的範例?如果是的話,那麼如果你能給出一些鏈接方向,我可以找到有關提出這種特定範例的原因的信息?Zend Framework前端控制器/調度程序背後的想法

回答

8

FrontController的基本思想是爲應用程序提供一個入口點。

引用PoEAA

前端控制器合併通過引導通過單個處理器對象請求的所有請求處理。該對象可以執行常見的行爲,可以在運行時使用裝飾器進行修改。然後,處理程序將分派到特定於請求的行爲的命令對象。

進一步定義:

還請參閱chapter in the reference guide about the Front Controller

Zend_Controller_Front實現一個»前端控制器模式使用在»模型 - 視圖 - 控制器(MVC)應用程序中。其目的是初始化請求環境,路由傳入的請求,然後發送任何發現的操作;它彙總了任何響應並在過程完成時返回它們。

關於作爲一個單身

Zend_Controller_Front也實現了»單件模式,這意味着只有它的一個實例可以是在任何給定的時間。這使它也可以作爲調度過程中其他對象可以繪製的註冊表。

的註冊表模式辛格爾頓的一般定義看:

關於爲可插拔

Zend_Controller_Front自己註冊了一個plugi與自己的經紀人,允許觸發的各種事件被插件觀察。在大多數情況下,這使開發人員有機會調整到站點的調度流程,而無需擴展前端控制器以添加功能。

Zend框架如何使用Front Controller和什麼樣的MVC rquest在引擎蓋下發生的一個好的詳細的解釋可以發現: