2011-08-16 15 views
2

我想了解HMVC以及如何或如果我应该考虑它在我目前的MVC应用程序。准确使用/使用HMVC模式?

关于从[此] [1]关于MVC架构问题此报价,

有时分层模型 - 视图 - 控制器(HMVC)图案(又名 表示 - 抽象-控制)是一个良好的选择处理 更复杂的接口和应用需求。

“。然而,传统的MVC范围,当涉及到 控制GUI元素(小部件)的下降短。MVC不处理数据管理,事件管理和应用 流的 复杂性。作为一个适应MVC三元组,HMVC - 分层模型 - 视图 - 控制器 - 范式试图纠正上述问题的一些 。“

Jason Cai,Ranjit Kapila和Gaurav Pal(2000年7月)。 “HMVC: 分层模式用于开发强大的客户端层”。 JavaWorld 杂志。

[1]: https://stackoverflow.com/questions/113602/when-to-use-mvc-architecture

我一直在试图理解PAC/HMVC,和上面的文字引起了共鸣。 HMVC的三元组抽象可以应用于页面上的“小部件”,或者如何使用ASP.Net视图引擎(相对于Razor视图引擎),可以转换为页面上的“控件”。

这是HMVC模式的准确应用吗?

如果是这样,我不确定具体如何实施。我确实看到了这个优点,因为如果主页面加载正常,并且某些用户控件/小部件出错,页面仍会加载。

那么主页面控制器会调用它的小部件控制器?从主视角来看,我猜测模型继承将会发挥作用,就像您在简单的MVC页面视图中使用模型对象一样。

在代码中看起来会怎么样 - 从顶层视图中调用模型数据从两个或三个三元组向下连锁?

+0

什么是“ASP.Net可视化引擎”? –

+0

更新... ASP.Net视图引擎vs另一个视图引擎,如MVC3使用的Razor视图引擎。 – ElHaix

回答

0

阅读HMVC的不同的资源之后,我相信ASP.NET MVC确实有HMVC自地区的形式V2.0。

夫妇那与T4MVC和调用行动。PartialX()方法,你已经得到了自己的下一个热门词HMVC

+0

HMVC的思想是将即将到来的请求重定向到管道中的相应控制器。 ASP.NET MVC只有一个控制器管理一个请求,所以它不适合HMVC描述。 –

+0

咦? “ASP.NET MVC只有一个控制器管理请求” 您可以从一开始就使用路由表和区域将请求路由到相应的控制器 – Korayem

+0

将请求路由到控制器与将请求路由到一连串的控制器。 –

1

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

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

感谢,

马特