我正在尝试找出完成我正在研究的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.
我觉得模型内部的功能需要分成自己的层。通常,我认为可以使用Factory模式,但是,我只是不认为这是有用的模式。
然后,尽管如此,我还是要使用存储库模式,但是我仍然认为这不会满足我的要求,因为它的主要好处是可以访问ORM类型的数据。但是,使用存储库模式的概念似乎不错,因为在一个地方调用功能会很好。
因此,话虽如此,我该怎么办。在模型内部具有填充自身的功能是好事还是坏事(这对我来说很奇怪)?
谢谢!
最佳答案
我建议您从简单的现有开始
像Galasoft MVVMLight这样的MVVM框架
花几个小时研究这种框架将为您带来很多答案,并向您展示MVVM模式的一些常见问题,例如“事件到命令”-如何通过单击按钮来调用MVVM命令
Btw模型应该是永久不可知的,您在考虑使用存储库的正确方法
关于design-patterns - 我缺少哪个应用程序层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6880226/