Model view controller MVC-需要多个模型的视图

Model view controller MVC-需要多个模型的视图,model-view-controller,model,Model View Controller,Model,我在概念层面上有个问题,我读了很多书,但我还没有出来。 我想建立一个系统模型,该系统计划下订单,并允许您根据所选位置选择产品。 在分析阶段,用户界面向类product、location和orders请求数据是正确的? 在设计阶段,可以查看对多个模型的访问并显示数据,或者如果orderView仅访问订单模型,并且这从数据库中获取所有数据(使用不同的DAO处理位置、订单和产品),则更正确? 提前感谢,文森佐 < P>你应该考虑,已经创建了 VIEW模型对象< /代码>,以满足你的视图需求,组成你的业

我在概念层面上有个问题,我读了很多书,但我还没有出来。 我想建立一个系统模型,该系统计划下订单,并允许您根据所选位置选择产品。 在分析阶段,用户界面向类product、location和orders请求数据是正确的? 在设计阶段,可以查看对多个模型的访问并显示数据,或者如果orderView仅访问订单模型,并且这从数据库中获取所有数据(使用不同的DAO处理位置、订单和产品),则更正确?
提前感谢,文森佐

< P>你应该考虑,已经创建了<代码> VIEW模型对象< /代码>,以满足你的视图需求,组成你的业务对象。P> > P>您应该考虑,创建<代码> VIEW模型对象>代码>,以满足您的视图需求,编写业务对象。 解决此问题的方法是使用ViewModel(http://geekswithblogs.net/michelotti/archive/2009/10/25/asp.net-mvc-view-model-patterns.aspx),基本上是一个组合模型,它将多个其他模型组合在一起,以便为视图提供服务


因此,如果您有一个产品模型、一个位置模型和一个订单模型,以及您希望在单个视图(例如,每月销售摘要)上组合在一起的所有逻辑上不同的模型,您可以创建一个包含产品、订单、,以及要返回到该视图的位置。

解决此问题的方法是使用ViewModel(http://geekswithblogs.net/michelotti/archive/2009/10/25/asp.net-mvc-view-model-patterns.aspx),基本上是一个组合模型,它将多个其他模型组合在一起,以便为视图提供服务


因此,如果您有一个产品模型、一个位置模型和一个订单模型,所有逻辑上不同的模型都要在一个视图中组合在一起(例如,每月销售摘要),那么您可以创建一个SalesSummaryViewModel,其中包含要返回到该视图的产品、订单和位置。

如果您需要一个示例,这是在音乐商店里完成的


详细信息在相关PDF的第95页左右。

如果需要示例,请在音乐商店中完成


详细信息在相关PDF的第95页左右。

没有绝对值

在设计阶段,“是否正确…”是错误的说法。设计是一个权衡的过程。在我的论文的最后,我希望你能得出结论,我们正在对一个你应该坚持的合理的设计概念进行梳理

将UI和数据从管理交互中分离出来是一个很好的设计目标

无论你使用MVP、MVC、MVVM,在这个论坛上都是一个学术性的练习,因为我们没有整体设计细节

为了便于讨论,让我们把基本思想称为MVC。MVP是它的一个变体,MVVM(ViewModel)是我们MVP的一个专门化

MVVM/ViewModel是特定于.NET的

模型-视图-视图-模型模式由microsoft架构师创建,以利用WCF、XAML和Silverlight(vis-a-vis ASP.NET和Windows窗体)的功能。归根结底,它是我们基本概念的一种变体,一种利用.NET技术的变体

显示模型以供查看
.. 这是对模型-视图-控制器组件之间的耦合程度的判断调用

MVC为您的视图提供模型参考。这对于数据绑定很方便。如果您使用.NET绑定体系结构,那么您最终可能会使用这种模式

MVP-只有演示者(如果您愿意,控制器功率更大)才能看到数据模型。例如,您仍然可以使用.NET绑定体系结构,但演示者是连接这一切的中间人。为什么?因为你根据你的整体设计做出了明智的决定

MVP意味着演示者非常了解视图和模型,因此可以将它们连接在一起并处理UI输入。因此,每个视图都有一个演示者,因为它们是自定义对(很可能是不可互换的)

开发工具可以影响设计架构

例如,如果您在.NETWCF中开发,那么除了使用MVVM之外,您别无选择;这就是框架的工作方式

同样,MacOSX开发IDE迫使您使用MVC。RubyonRails和.NETMVCWeb开发也是如此


如果您正在使用某种对象关系映射器(ORM)..NET LINQ就是其中之一,那么您的设计本身可能没有数据访问层

没有绝对

在设计阶段,“是否正确…”是错误的说法。设计是一个权衡的过程。在我的论文的最后,我希望你能得出结论,我们正在对一个你应该坚持的合理的设计概念进行梳理

将UI和数据从管理交互中分离出来是一个很好的设计目标

无论你使用MVP、MVC、MVVM,在这个论坛上都是一个学术性的练习,因为我们没有整体设计细节

为了便于讨论,让我们把基本思想称为MVC。MVP是它的一个变体,MVVM(ViewModel)是我们MVP的一个专门化

MVVM/ViewModel是特定于.NET的

模型-视图-视图-模型模式由microsoft架构师创建,以利用WCF、XAML和Silverlight(vis-a-vis ASP.NET和Windows窗体)的功能。归根结底,它是我们基本概念的一种变体,一种利用.NET技术的变体

显示模型以供查看
.. 这是对模型-视图-控制器组件之间的耦合程度的判断调用

MVC为您的视图提供模型参考。这对于数据绑定很方便。如果使用.NET绑定弧