MVVM结构:工厂,模型,存储库还是其他什么?

时间:2014-07-11 18:55:24

标签: c# mvvm mvvmcross

我正在使用MVVM框架(MVVMCross for Xamarin)。我的服务,模型和ViewModel具有非常明确的目的分离。

我现在有一个类处理持久性Key:Value存储为JSON。该类由服务使用并与模型交互,但我不认为它属于这些类别中的任何一个。你会怎么称呼这样的班级?我通常称这种类为"帮助"但是帮助者通常是功能性的和静态的,这个类不是。

对此事的任何澄清表示赞赏!

加了: 因此,为了澄清,该类独立于数据类型,并且实例化的一部分是传入数据类型(或更具体地说是结构或类),因此它不会是它上面的存储库。拥有,但是存储库的依赖项或抽象接口。然后,服务器或ViewModel将使用该存储库。这是对的吗?

我目前的结构:

                        __ KeyValueStore
ViewModel __ Service __/ 
                       \__ Model

提议的结构:

ViewModel __ Service __ Repository __ Model
                           \
                            \__ KeyValueStore 

1 个答案:

答案 0 :(得分:2)

在我看来,持久性数据属于数据层。 MVVM可能是表示层,您可能有一些核心/业务逻辑层。要访问存储数据的类,可以使用存储库模式(使核心/表示不依赖于数据层)。

但是存储库接口的命名可以是IKeyValueRepository,该存储库的具体实现可以命名为JsonKeyValueStorage。

当你在标题中写下“Repository”时,我假设你知道如何使用这个模式 - 如果不随意问:)