2011-07-30 82 views
1

我试图找出完成我正在工作的MVVM应用程序的设置的最佳方法。现在架构有一些peices,但我觉得好像缺少了一些东西。我缺少什么应用程序层?

基本上,我们有一个供应商的概念。每个提供者本质上都是通过某种方式将数据聚合到应用程序的途径。目前有三家提供商,有可能获得更多。我们如何从每个提供商获取数据可能会有所不同,因此我将概述我们在下面所做的工作。

基本上过程流程如下。

User makes request -> 
    Request is sent to a function inside the "Model" -> 
    Function fowards request to a "Processor" which then sends the request to a specific or all "Provider" -> 
    Provider gets the data and returns the requests to the "Processor" -> 
    Processor formats the data so it can be consumed by the model -> 
    Model consumes the data and by some binding is displayed back to the user. 

我觉得模型内部的功能需要拆分成自己的层。通常情况下,我会认为工厂模式适合,但是,我不认为这是一种有益的模式。

然后,我虽然了解如何使用存储库模式,然而,再次,我不认为会制定出我想要的东西,因为它的主要优点是ORM类型的数据访问。然而,使用Repository模式的概念看起来很不错,因为调用功能的一个地方会很好。

所以,他这样说,还有什么应该怎么做。是具有模型内部功能本身填充好事还是坏事(这听起来很奇怪,我)?

谢谢!

回答

0

我建议你开始喜欢Galasoft MVVMLight

花费几个小时来研究这种架构会为你带来很多的答案,并告诉您与MVVM模式等一些常见的问题简单的现有 MVVM框架作为事件到命令 - 如何调用一个MVVM命令直通点击一个按钮

顺便说一句模式应该是持久的不可知论者,你的思维正确的使用存储库的

+0

我们没有问题,指挥若定,或任何MVVM元素。实际上,我们对MVVM的实现感到非常满意。这是我们试图消化的“超越MVVM”。 – John

+0

确定这里我做了什么:包含的ViewModels的初始化和调用存储库的方法 - 和/或网络服务,我的模型“已知”一无所知底层。希望有所帮助。 – mmorel

+0

是的,我认为这就是我要做的。我发现了一篇关于Repository模式的优秀文章,这正是我认为缺少的。 http://www.primaryobjects.com/CMS/Article108.aspx可能是我长时间阅读过的最好的文章之一。 – John