我有一个目标:图书馆
一个图书馆可拥有多个书籍、光盘和文件。 每一类都有Id、 名称和价格属性, 除了有地址的图书馆类 。
我要创建存储器模式, 抽象数据存储于上层。 现在, 数据存储在 xml 文件中 。
<library>
<books></books>
<cds></cds>
<papers></papers
</library>
稍后我们将考虑将它储存在数据库中,然后我们将有一个图书馆表、一个书桌、一张CD表和一张纸桌。
用户在屏幕上创建一个库对象,然后在屏幕上创建书籍、 cds 和文件。
然后他点击“ 保存 ” 。 在这一点上, 我想将新建的图书馆对象移到 XML 中保存, 这样我就可以使用仓库, 并使用依赖性注射, 我会在上层输入 xml 仓库, 这样数据就可以存储到正确的位置 。 我可以将图书馆对象序列化, 并获得 xml 并调用简单的 保存 方法来保存 库对象 。
但想象一下,我用数据库存储器取代 XML 存储器。
In that case, I want the rest of the layers above to remain unchanged. I am hoping that LibraryRepository.Save() will take care whether it needs to go in XML or CSV or DB. I am confused how I will create a Repository pattern to solve LibraryRepository.Save() method.
Everyone everywhere says that Repository class should have a single responsibility. It should only save one object type and shouldn t take an object, take its related classes and save them too. Each class should have its own Repository class.
另外,每个图书馆对象都含有多个图书对象。 我不想使用环绕来浏览图书馆仓库.保存方法中的每本书。
我不知道该如何创建我的域名模型,
请引导。