我正在尝试了解HMVC,以及我是否应该在当前的MVC应用程序中考虑它。
关于[this] [1]关于MVC架构的问题的引用,
有时是分层模型 - 视图 - 控制器(HMVC)模式(又名 Presentation-Abstraction-Control)是处理的好选择 更复杂的界面和应用程序需求。
“然而,传统的MVC范围不足以说明问题 控制GUI元素(小部件)。 MVC没有处理 数据管理,事件管理和应用程序的复杂性 流动。作为MVC三元组的改编版,HMVC - 分层模型 - 视图 - 控制器 - 范例寻求纠正一些 上述问题。“
Jason Cai,Ranjit Kapila和Gaurav Pal(2000年7月)。 “HMVC:The 用于开发强大客户层的分层模式“.JavaWorld 杂志。
[1]: https://stackoverflow.com/questions/113602/when-to-use-mvc-architecture
我一直在努力理解PAC / HMVC,上面的文字引起了共鸣。 HMVC的三元组抽象可以应用于页面上的“小部件”,或者如何使用ASP.Net视图引擎(与Razor视图引擎相比)将转换为页面上的“控件”。
这是HMVC模式的准确应用吗?
如果是这样,我不确定如何实施。我确实看到了这个的优点,因为如果主页加载正常,并且一些用户控件/窗口小部件错误输出,页面仍会加载。
那么主页面控制器会调用它的小部件控制器吗?从主视图来看,我猜测模型继承会发挥作用,就像在简单的MVC页面视图中使用模型的对象一样。
在代码中会出现什么样的情况 - 从顶层视图调用链中的两个或三个三元组中的模型数据?
答案 0 :(得分:1)
首先,你提出一些有趣的观点。其次,我假设您熟悉ASP.NET MVC框架。
在这里大声思考,有一个名为Partial()的HtmlHelper,它接受一个控制器和动作并返回结果。因此,如果您编写一个返回PartialView的Action(可以使用小部件 - 每页可以有多个),这可能是上述架构的合理实现吗?
谢谢,
马特
答案 1 :(得分:0)
在阅读了HMVC的不同资源之后,我相信ASP.NET MVC从v2.0开始就以区域的形式拥有HMVC。
与 T4MVC 结合并调用Action.PartialX()方法,您就可以获得下一个热门词 HMVC 。