Kor*_*üpe 6 crud repository repository-pattern
我想为我的项目实现存储库设计模式,但不清楚是否在存储库中使用CRUD操作。一些资源说您不应该使用update / save / delete方法,因为存储库仅用于将对象保存在内存中,而您应该为其他操作提供服务。
哪一种是最好的方法?
谢谢。
Martin Fowler对 Repository 模式的定义总结:
使用类似集合的接口访问域对象,在域和数据映射层之间进行调解。
因此,如果我们同时拥有addandupdate方法,我可以声称它不是一个类似集合的接口,对吗?在添加到类似集合的集合中时,我不需要费心检查对象是否已经存在。
关于添加/更新有两种常见的方法:
面向集合的存储库确实尝试模仿内存中的集合,因此如果对象已更新但已存在于集合中,则不需要重新添加对象。存储库(或隐藏在其下方的层,例如 ORM)应注意跟踪对实体的更改。add当您第一次创建它时,您只是一个对象,然后在实体更改后不再需要更多方法。
面向持久性的存储库知道在进行更改后需要显式“保存”对象,因此您save可以在创建或更改实体时调用实体。
(这些是我对 Vaughn Vernon 在实现领域驱动设计中的定义的解释。)
delete很好,但也许remove会是一个更好的名字。
| 归档时间: |
|
| 查看次数: |
1308 次 |
| 最近记录: |