为什么使用模型视图控制器而不是适配器视图“M”或模型缺乏清晰度

时间:2009-06-03 21:35:29

标签: asp.net-mvc model-view-controller

我使用和阅读有关ASP.NET MVC的内容越多,似乎“M”或模型似乎会引起大量混淆。

MVC框架是否真的要重命名为Adapter View Controller?适配器负责将数据模型传递给视图?

3 个答案:

答案 0 :(得分:5)

我认为这个名字到底是什么并不重要。在大多数开发良好的应用程序中,数据/模型/任何层都将是它自己的独立程序集,其中ViewModel(您正在标记为适配器)在应用程序中构建,以支持此程序集中的对象。但它不一定是简单的应用程序,你可以在MVC项目的模型中使用它。我认为“模型”一词是一个通用的术语,可以赋予这种意义灵活性。

它可能被命名为MVC,因为这是一个流行语,流行语有助于营销和管理。

答案 1 :(得分:3)

术语“模型”在域模型和MVC方面会引起很多混淆。现实情况是,如果您完全专注于开发域模型,那么这就是MVC中的模型所指的内容。正如您所说,ViewModels和Presenters等概念就是适配器。我喜欢使用“ModelAdapter”,“ViewAdapter”或“EditAdapter”等术语来引用这些对象。

域模型旨在以行为为中心,并且本身不适合绑定等UI活动。这正是ModelAdapters(ViewModels)的用途。

答案 2 :(得分:0)

MVC中的“模型”实际上代表“模型”,它负责充当在底层结构和视图之间传递数据的数据容器。将模型传递给视图是控制器的责任。实际上,这是控制人员的主要责任。

这不是ASP.NET MVC框架引入的新概念。该框架只是众所周知的mvc模式的一个实现,并且非常准确地命名,因为它遵循精确的模型 - 视图 - 控制器模式。

还有MVP,MVVM和DMVVM模式,您可以将其视为同一问题的其他替代方案。他们都没有忽略简单模型,因为应该遵循一个非常简单的数据保持模型。