|
|
1
0
MVC不处理事件,因为事件在很大程度上只是客户机试图告诉服务器做什么和服务器实际做什么之间的一个不必要的层。 在webforms的分页示例中,客户机单击按钮,浏览器发送事件/视图状态,引擎触发buttonchecked事件。您检查事件,确定客户机要分页,然后执行分页逻辑。 在MVC范式中,用户单击一个按钮,直接向执行分页逻辑的代码发出请求。既然你知道当你把按钮放在那里的时候,按钮应该调用什么动作,为什么要经历事件触发的所有阴谋?在您的控制器中,当您得到命令时,您当然可以触发事件,但我真的无法想象这样做的用例。 这两种方法都完成了相同的事情,但MVC只是消除了一层复杂性。 |
|
2
1
通常,ASP.NET MVC和模型视图控制器通过将支持应用程序的数据和代码与用户看到的可视“表示层”标记分开来支持松散耦合和关注点分离。 如果设计得当,MVC中的控制器和视图可以重用,这样实体的编辑视图就可以“嵌入”到相关视图中,而不需要修改。 例如:ORDERS视图可能包括ORDERSDETAIL局部视图。该部分视图可以替换为在应用程序中的其他位置也可用的OrderDetail编辑视图。 将模型与视图分离,通过将代码与表示层的上下文分离,可以使单元测试更有效、更简单。您不需要引用从数据库中提取数据的System.Web-to-Unit测试代码。 |