我错过了什么应用层?

时间:2011-07-30 00:13:15

标签: design-patterns silverlight-4.0 mvvm

我正在尝试找出完成我正在开发的MVVM应用程序设置的最佳方法。现在这个架构有一些东西,但我觉得好像缺少了一些东西。

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

基本上,流程如下:

    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.

我觉得模型中的函数需要拆分成自己的层。通常情况下,我认为工厂模式是合适的,但是,我并不认为这是一种有用的模式。

然而,我虽然关于使用Repository模式,但是,我认为这不会达到我想要的效果,因为它的主要好处是ORM类型的数据访问。但是,使用Repository模式的概念似乎很好,因为调用功能的一个地方可以很好地工作。

所以,话虽如此,我还应该做些什么。拥有模型中的函数来填充自己的好或坏(对我来说这听起来很奇怪)?

谢谢!

1 个答案:

答案 0 :(得分:0)

我建议你从一个简单的现有开始 像Galasoft MVVMLight这样的MVVM框架

花几个小时研究这种框架会给你带来很多答案,并向你展示一些MVVM模式的常见问题,例如Event to Command - 如何通过点击按钮调用MVVM命令

Btw模型应该是持久不可知的,你正确地考虑使用存储库