什么是HMVC模式?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (20)

阅读Kohana的文档,我发现3.0版本的主要区别在于它遵循HMVC模式,而不是2.x版本那样的MVC模式。

所以问:HMVC模式是什么?它与MVC有什么不同?

提问于
用户回答回答于

Sam de Freyssinet写了一篇相当深入的关于HMVC的文章,它是什么,以及如何使用它。

链接:https://web.archive.org/web/20160214073806/http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/

用户回答回答于

使用HMVC架构最大的实际好处是内容结构的“扩展”。例如,评论、评级、twitter或博客rss提要显示,或显示电子商务网站的购物车内容。它本质上是一段内容,需要跨多个页面显示,甚至可能在不同的地方显示,这取决于主HTTP请求的上下文。

传统的MVC框架通常不会为这些类型的内容结构提供直接的解决方案,因此人们通常会复制和切换布局,使用自定义的帮助程序,创建自己的小部件结构或库文件,或者从主请求的Controller中提取不相关的数据,将其推送到视图并呈现为部分。

HMVC,或者特别是向Controller发送子请求以处理这些职责的能力是显而易见的解决方案。如果考虑正在做的事情,它完全适合Controller结构。需要加载一些有关注释的数据,并以HTML格式显示它们。因此,可以使用一些参数向Comments Controller发送一个请求,它与模型交互,选择一个View,并在View中显示内容。唯一的区别是,希望将评论内联显示在博客文章下面,而不是一个完全独立的完整评论页面,在这方面,HMVC实际上只是追求更高的代码模块化、可重用性和保持更好的关注点分离的自然副产品。

扫码关注云+社区