我试图找出完成我正在工作的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模式的概念看起来很不错,因为调用功能的一个地方会很好。
所以,他这样说,还有什么应该怎么做。是具有模型内部功能本身填充好事还是坏事(这听起来很奇怪,我)?
谢谢!
我们没有问题,指挥若定,或任何MVVM元素。实际上,我们对MVVM的实现感到非常满意。这是我们试图消化的“超越MVVM”。 – John
确定这里我做了什么:包含的ViewModels的初始化和调用存储库的方法 - 和/或网络服务,我的模型“已知”一无所知底层。希望有所帮助。 – mmorel
是的,我认为这就是我要做的。我发现了一篇关于Repository模式的优秀文章,这正是我认为缺少的。 http://www.primaryobjects.com/CMS/Article108.aspx可能是我长时间阅读过的最好的文章之一。 – John