hmvc

hmvc

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

基本介紹

  • 外文名:HMVC
  • 工作原理:總控室
  • 學科:電子工程
簡介,模式簡介,工作原理,優點,支持框架,

簡介

HMVCHierarchical-Model-View-Controller),也可以叫做 LayeredMVC。顧名思義,就是按等級劃分的 MVC 模式,簡單的解釋就是把MVC又細分成了多個子 MVC,每個模組就分成一個 MVC。
使用 HMVC 的好處就是可以降低各個功能模組之間的耦合性,提高代碼復用性,使得每個功能都可以獨立出來,每個模組都有自己的 MVC 結構,這就有點像ActiveX控制項,每個控制項都有自己的行為,控制項之間互不影響。

模式簡介

一個MVC模組由應用程式的一個模組抽象而成。其中很重要的一個概念就是Parent MVC,它可以對應界面上的實體,也可以是一個抽象的對象。構想有一個Windows Form應用程式,有一個框架(frame),此框架由選單功能模組、導航欄、狀態欄、主工作區等部分組成,對應於HMVC,frame MVC 即Layer1 的parent MVC ;選單MVC、導航欄MVC、狀態欄MVC、主工作區 MVC處於第二層(圖中只畫了一個)。如果你覺得導航欄或主工作區的功能太複雜,也可以再細分成HMVC中的第三層,依次類推,可以擴展到n層,如果你願意的話。

工作原理

Controller是功能模組的總控室,它負責和子Controller或父Controller通信,並通知它的View處理改變界面顯示、Model處理一些業務邏輯或資料庫訪問操作。舉個例子,假如要實現點擊選單項,刷新主工作區這樣的功能。首先點擊操作在選單MVC的View里完成,選單Controller捕獲這個事件,發現是需要刷新主工作區,它處理不了,於是傳給它的父Controller—Frame Controller處理,Frame Controller捕獲這個事件,直接把它交給主工作區 Controller處理,主工作區 Controller捕獲這個事件,讓主工作區 View處理刷新操作。是不是覺得很麻煩?對於小型應用程式,套用HMVC模式的優點顯現不出來,但是一旦你的應用程式很複雜,HMVC模式的優點就清晰可見。
層次的HMVC解決了客戶層程式的複雜性,HMVC揭示了面向對象的優勢。

優點

把程式分成了幾個部分,降低了依賴性。
支持鼓勵重用代碼,組件或者模組。
在今後的維護中,提高了可擴展性。

支持框架

支持HMVC的PHP框架
KohanaV3.0
Phalcon 需要自己擴展
Phalcon7

相關詞條

熱門詞條

聯絡我們