我是 MVC 的新手。
我已经阅读了这篇简短的文章,详细介绍了在 MVC 中处理视图模型的三种方法:
http://geekswithblogs.net/michelotti/archive/2009/10/25/asp.net-mvc-view-model-patterns.aspx
在我看来,它的要点是:
方法 1,从数据库中拉出一个对象并将其用作您的视图模型。快速而简单,但是如果您想要来自多个表的数据,那么您完全搞砸了(如果没有方法 2,我想不出办法)。
方法 2,创建一个引用多个对象的类,并将其用作您的视图模型。这样您就可以访问所需的一切。文章说,当视图变得复杂时,它会由于域/视图模型对象之间的阻抗不匹配而崩溃……我不明白这是什么意思。谷歌搜索阻抗不匹配返回了很多东西,其要点是您使用对象来表示数据库内容,而内容并没有干净地映射,但即使使用方法 1,您也可能会遇到这个问题。不确定我是什么失踪。在我看来,从维护的角度来看,为每个视图创建一个类以获取所需的数据并不理想,不确定您是否有选择。
方法 3,我仍然对它有所了解,但我不太明白为什么他们的复选框示例在方法 2 中不起作用,如果您在未连接到域模型的类中添加了 bool addAdditional。方法 3 似乎是说而不是直接返回域的东西,只是拉出你特别需要的属性,我认为这更好,但会更难维护,因为你需要一些大型构造函数this.x = domain.x
,this.y = domain.y
等等。
我不了解构建器,特别是为什么使用该界面,但会继续努力。
编辑:我刚刚意识到这不是一个真正的问题,我的问题是,我的想法是否正确?