hmvc

hmvc

Con troller或父Con Con


HMVC模式即hierarchical-Model-View-Controller模式,也可以叫做Layered MVC.HMVC模式把客戶端應用程式分解為有層次的父子關係的MVC。反覆套用這個模式,形成結構化的客戶端架構。如圖:


一個MVC模組由應用程式的一個模組抽象而成。其中很重要的一個概念就是Parent MVC,它可以對應界面上的實體,也可以是一個抽象的對象。構想有一個Windows Form應用程式,有一個框架(frame),此框架由選單功能模組、導航欄、狀態欄、主工作區等部分組成,對應於HMVC,frame MVC 即Layer1 的parent MVC ;選單MVC、導航欄MVC、狀態欄MVC、主工作區 MVC處於第二層(圖中只畫了一個)。如果你覺得導航欄或主工作區的功能太複雜,也可以再細分成HMVC中的第三層,依次類推,可以擴展到n層,如果你願意的話。
HMVC工作原理:
Controller是功能模組的總控室,它負責和子Controller或父Controller通信,並通知它的View處理改變界面顯示、Model處理一些業務邏輯或資料庫訪問操作。舉個例子,假如要實現點擊選單項,刷新主工作區這樣的功能。首先點擊操作在選單MVC的View里完成,選單Controller捕獲這個事件,發現是需要刷新主工作區,它處理不了,於是傳給它的父Controller—Frame Controller處理,Frame Controller捕獲這個事件,直接把它交給主工作區 Controller處理,主工作區 Controller捕獲這個事件,讓主工作區 View處理刷新操作。是不是覺得很麻煩?對於小型應用程式,套用HMVC模式的優點顯現不出來,但是一旦你的應用程式很複雜,HMVC模式的優點就清晰可見。
層次的HMVC解決了客戶層程式的複雜性,HMVC揭示了面向對象的優勢。
它的優點主要有:
把程式分成了幾個部分,降低了依賴性。
支持鼓勵重用代碼,組件或者模組。
在今後的維護中,提高了可擴展性。
Kohana V3.0支持HMVC

相關詞條

相關搜尋

熱門詞條

聯絡我們