7wp*_*7wp 1 domain-driven-design
在我的设计中,我有从数据库中获取实体的Repository类(它是如何做的并不重要).但是为了将实体保存回数据库,使存储库也这样做是否有意义?或者更有意义的是创建另一个类(例如UnitOfWork),并让它有责任通过让它接受实体来保存东西,并通过调用save()它来告诉它继续前进并发挥它的魔力?
在DDD中,存储库肯定是所有与持久性相关的东西所在的位置.
如果您保存到多个类中封装的数据库并从中加载,则与数据库相关的代码将分布在代码库中的太多位置 - 从而使维护变得更加困难.此外,此代码的后期读者很可能一眼就看不到它,因为这样的设计不符合大多数开发人员期望找到的准标准.
当然,如果适合您的项目,您可以拥有单独的Reader/Writer-helper类.但从业务层看,持久化的唯一门户应该是存储库......
HTH!
托马斯