我想为我的项目实现存储库设计模式,但不清楚是否在存储库中使用 CRUD 操作。一些资源说您不应该使用更新/保存/删除方法,因为存储库仅用于将对象保存在内存中,您应该为其他操作提供服务。
哪一个是最好的方法?
谢谢。
最佳答案
Martin Fowler’s definition的总结存储库模式:
Mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects.
因此,如果我们同时拥有
add
和 update
方法,我可以说它不是一个类似集合的接口(interface),对吧?在添加到类似集合的集合时,我不需要检查对象是否已经存在。关于
add
有两种常见的方法。/update
:add
当你第一次创建一个对象时,实体改变后就不需要更多的方法了。“saved”
更改后,您可以调用实体。 save()
创建或修改对象时的方法。(这些是我对 Vaughn Vernon 在 Implementing Domain-Driven Design 中的定义的解释。)
delete
很好,但也许 remove
会是一个更好的名字。
关于repository - 存储库应该有更新/保存/删除方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48682683/