我正在使用MVVM框架(MVVMCross for Xamarin)。我的服务,模型和ViewModel具有非常明确的目的分离。
我现在有一个类处理持久性Key:Value存储为JSON。该类由服务使用并与模型交互,但我不认为它属于这些类别中的任何一个。你会怎么称呼这样的班级?我通常称这种类为"帮助"但是帮助者通常是功能性的和静态的,这个类不是。
对此事的任何澄清表示赞赏!
加了: 因此,为了澄清,该类独立于数据类型,并且实例化的一部分是传入数据类型(或更具体地说是结构或类),因此它不会是它上面的存储库。拥有,但是存储库的依赖项或抽象接口。然后,服务器或ViewModel将使用该存储库。这是对的吗?
我目前的结构:
__ KeyValueStore
ViewModel __ Service __/
\__ Model
提议的结构:
ViewModel __ Service __ Repository __ Model
\
\__ KeyValueStore
答案 0 :(得分:2)
在我看来,持久性数据属于数据层。 MVVM可能是表示层,您可能有一些核心/业务逻辑层。要访问存储数据的类,可以使用存储库模式(使核心/表示不依赖于数据层)。
但是存储库接口的命名可以是IKeyValueRepository,该存储库的具体实现可以命名为JsonKeyValueStorage。
当你在标题中写下“Repository”时,我假设你知道如何使用这个模式 - 如果不随意问:)