准确使用/消耗HMVC模式?

时间:2011-08-16 14:09:10

标签: asp.net asp.net-mvc-3 hmvc

我正在尝试了解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页面视图中使用模型的对象一样。

在代码中会出现什么样的情况 - 从顶层视图调用链中的两个或三个三元组中的模型数据?

2 个答案:

答案 0 :(得分:1)

首先,你提出一些有趣的观点。其次,我假设您熟悉ASP.NET MVC框架。

在这里大声思考,有一个名为Partial()的HtmlHelper,它接受一个控制器和动作并返回结果。因此,如果您编写一个返回PartialView的Action(可以使用小部件 - 每页可以有多个),这可能是上述架构的合理实现吗?

谢谢,

马特

答案 1 :(得分:0)

在阅读了HMVC的不同资源之后,我相信ASP.NET MVC从v2.0开始就以区域的形式拥有HMVC。

T4MVC 结合并调用Action.PartialX()方法,您就可以获得下一个热门词 HMVC