HMVC

✍ dations ◷ 2025-04-26 21:52:57 #软件架构,软件设计模式,编程典范,人机互动

HMVC(Hierarchical-Model-View-Controller),也可以叫做 Layered MVC。顾名思义,就是按等级划分的 MVC 模式,简单的解释就是把MVC又细分成了多个子 MVC,每个模块就分成一个 MVC。

使用 HMVC 的好处就是可以降低各个功能模块之间的耦合性,提高代码复用性,使得每个功能都可以独立出来,每个模块都有自己的 MVC 结构,这就有点像 ActiveX 控件,每个控件都有自己的行为,控件之间互不影响。

 application 	|- controllers 		|- controllers1.php 		|- controllers2.php 		|- ... 	|- models 		|- models1.php 		|- models2.php 		|- ... 	|- views 		|- views1 			|- index.php 			|- footer.php 			|- ... 		|- views2 			|- index.php 			|- footer.php 			|- ... 		|- ...

  上面的就是 CodeIgniter 原来的结构,如果是 HMVC 的话结构就是:

 application 	|- modules 		|- module1 			|- controllers 				|- controllers.php 			|- models 				|- models.php 			|- views 				|- index.php 				|- footer.php 				|- ... 		|- module2 			|- controllers 				|- controllers.php 			|- models 				|- models.php 			|- views 				|- index.php 				|- footer.php 				|- ... 		|- .... 	|- controllers 		|- ... 	|- models 		|- ... 	|- views 		|- ...

请注意,以上只是 CodeIgniter 框架的 HMVC 文件夹结构的一种表现形式,不代表 HMVC 必须以这个结构为准,需要根据不同语言或框架来设计其 HMVC 结构。

相关

  • 杓会厌肌杓会厌肌(aryepiglottic muscle、aryepiglotticus)是一种在从杓状软骨到会厌之杓状会厌襞中运行的喉部肌肉。杓会厌肌本条目包含来自属于公共领域版本的《格雷氏解剖学》之内
  • 代谢网络代谢网络(英语:metabolic network)是完整的一决定细胞生理学和生物化学属性的整套代谢与物质过程。这些网络包含了代谢的化学反应以及指导这些反应的调整性相互作用。随着基因
  • 阿耳戈船英雄阿耳戈船英雄(希腊语:Αργοναύται)是一伙希腊神话曾提及、在特洛伊战争之前出现的英雄。他们伴随伊阿宋乘阿耳戈号到科尔基斯(今天的格鲁吉亚)去寻找金羊毛。而阿耳戈船
  • 执行死刑的方法中国古时的死刑,除了用他杀的形式执行外,也有令受刑者自杀的方式,即所谓赐死。刑罚理应由犯罪者自行承担,但在历史上,当罪名属于通番卖国、欺君犯上、密谋造反等滔天死罪时,死刑的
  • NHK高山支局NHK高山支局,是日本放送协会位于岐阜县高山市的支局,也是负责主管当地事务的放送支局。
  • 俄罗斯联邦功勋文化工作者俄罗斯联邦功勋文化工作者(俄语:Заслуженный работник культуры Российской Федерации),简称“俄罗斯功勋文化工作者”,是俄罗斯
  • 兰里岛兰里岛(缅甸语:ရမ်းဗြဲကျွန်း),缅甸若开邦外海一岛屿,面积1350平方公里,与皎漂港隔海相望。二战末期,该岛曾发生兰里岛之战。2009年,中国宣布将援助缅甸在该地区建设一
  • 尼可莱·盖达尼可莱·哈利·古斯塔夫·盖达(瑞典语:Nicolai Harry Gustav Gedda,1925年7月11日-2017年1月8日),著名瑞典籍男高音歌唱家。尼可莱·盖达一生录制了超过200张歌剧和古典歌曲专辑,被
  • 葛修润葛修润(1934年7月12日-),上海南汇人,岩石力学专家,中国工程院院士。葛修润早年曾就读于上海市南洋模范中学。1952年考入清华大学水利系。1954年赴苏联敖德萨建筑工程学院(Одес
  • 毛利就隆毛利就隆(1602年10月17日-1679年9月12日)是江户时代的大名。周防下松藩和德山藩初代藩主。就隆系毛利家初代。父亲是毛利辉元。受兄长秀就授与偏讳,亦取祖父隆元名中一字,于是以