CodeIgniter的HMVC

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

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

CodeIgniter 结构示意

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
 		|- modules1
 			|- controllers
 				|- controllers.phpCI
 			|- models
 				|- models.php
 			|- views
 				|- index.php
 				|- footer.php
 				|- ...
 		|- modules2
 			|- controllers
 				|- controllers.php
 			|- models
 				|- models.php
 			|- views
 				|- index.php
 				|- footer.php
 				|- ...
 		|- ....
 	|- controllers
 		|- ...
 	|- models
 		|- ...
 	|- views
 		|- ...
请注意,以上只是 CodeIgniter 框架的 HMVC 文件夹结构的一种表现形式,不代表 HMVC 必须以这个结构为准,需要根据不同语言或框架来设计其 HMVC 结构。
posted @ 2011-05-03 20:40  bigwhiteshark(云飞扬)  阅读(1840)  评论(2编辑  收藏  举报