RepositoryDDDRepository

Repository

资源库通常标识一个存储的区域,提供读写功能。通常我们将实体存放在资源库中,之后通过该资源库来获取相同的实体,每一个实体都搭配一个资源库。

如果你修改了某个实体,也需要通过资源库去持久化。当然你也可以通过资源库去删除某一个实体。

cacheesdb
操作流程


Repositoryclientclient

隐式写时复制

通常我们通过资源库读取一个实体后,再对这个实体进行修改。那么这个修改后的持久化是需要知道实体的哪些属性被修改,然后再对应的去持久化被修改的属性。

changesRepositoryRepository
Repository

工厂和创建

IDIDIDKey
Eric Evans
IDDDDRepositoryselect count(*)
RepositoryRepositoryRepository

实践

实体的缓存

keyIdentityredisSetSource

以下实现了一个商品的资源库

领域服务使用仓库

目录

  • golang领域模型-CQRS

PS:关注公众号《从菜鸟到大佬》,发送消息“加群”或“领域模型”,加入DDD交流群,一起切磋DDD与代码的艺术!