2013-05-13 66 views
0

我将开始开发一个WPF实时C#应用程序来进行证券交易。我将根据MVVM模式开发此应用程序。因此,在MVVM应用程序的Model部分中,我应该创建View Model部件应该处理的数据结构,填充数据等等。MVVM应用程序的Model部分可以处于活动状态吗?

证券交易所交易应用程序的主要部分之一是通过特殊门户软件库从证券交易所接收交易数据。

所以我想知道在哪里我应该分配这个交易数据接收在我的应用程序中:在接收操作将填充模型数据结构的模型部分和视图模型将采取这些填充的数据结构来处理它们?或者我应该在应用程序的视图模型部分中分配这个交易数据接收,其中视图模型本身将填充最初从模型中获取的处理过的数据结构?

从MVVM模式的角度来看哪种方法更具规范性?

+0

如果你有Visual Studio 2010,我会强烈推荐[MVVM in the box](http://karlshifflett.wordpress.com/2010/11/07/in-the-box-ndash-mvvm-training/) ,这真是太棒了! – JMK 2013-05-13 14:41:33

+0

我想使用Visual Studio 2012,因为这个版本的Visual Studio有良好的MVVM Toolkit Light。 – user1688773 2013-05-15 12:50:19

回答

1

IMO这将是Model的责任。 VM是ModelView之间的桥梁,它主要负责处理View(用户调用的东西)的逻辑。

业务逻辑(未由用户调用)应驻留在Model中。

在你的情况下,当你说有Web服务获取数据时,它们应该与模型接口,并且应该是模型应该访问更新数据的服务。

+0

我不同意将Web服务添加到实际模型中;让虚拟机执行工作并根据需要更新模型值。这将有助于将模型从任何类型的数据逻辑中分离出来,并允许模型在不需要嵌入嵌入式Web服务的情况下重新使用。 – 2013-05-13 15:36:02

+1

以及你没有“添加”服务到模型。你所做的只是将“接收更新的股票数据”的行为包装到模型“使用”中没有“具有”的服务中。此外,在虚拟机中使用这种逻辑(这不是用户调用的操作),如果OP为不同的布局视图添加新的虚拟机,将来会发生什么?我们需要将此虚拟机中的代码复制到新的虚拟机或抽象功能中。如果代码在模型中,那么虚拟机只是“插入”当前应用程序,而不涉及更多的重构。它归结为个人喜好我猜想 – Viv 2013-05-13 15:49:23

+0

谢谢。我会更专注地研究应用程序结构。在Web或Windows服务的情况下 - 服务将如何与应用程序的模型部分交互?不幸的是,我之前没有处理过Web或Windows服务编程。 – user1688773 2013-05-15 12:26:29

相关问题