戏说领域驱动设计(廿四)的资源库有哪些特点?

2026-05-06 02:241阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计11220个文字,预计阅读时间需要45分钟。

戏说领域驱动设计(廿四)的资源库有哪些特点?

开讲资源库,简单来说就是用于持久化或查询聚集的资源。注意!您需要与DAO区分:DAO操作的对象是数据实体;而资源库的目标是聚合(不存在通过资源库操作值对对象的情况)。

  开讲资源库,这东西简单来说就是用于持久化或查询聚合的。注意!您需要与DAO分别:DAO操作的对象是数据实体;而资源仓库的目标是聚合(不存在通过资源库操作值对象的情况,值对象必须依赖于某个实体)。你完全可以把资源库想像成为一个盒子,想要存储聚合的时候直接放进去即可;想要修改只需要取出后再放进去,就能把原有的对象替换掉;想要删除也只需要随手从盒子取出扔掉即可,至于盒子本身如何实现存储,作用用户的你根本不必关心。当然了,作为程序员得关心,你得为了达到这样一个目的去实现代码。从技术的角度去看,您完全可以把资源库当成领域模型序列化和反序列化的外观模式。这里需要注意一点,一个对象如果被放入了两次,在资源仓库中也只存在一个,有点类似于Java中的Set集合。至于如何区分不同的实体,当然是ID喽,前面讲过一百万次了。

1、聚合接口的定义

  我们在使用资源库的时候需要注意把接口的声明与实现进行分离。主要是因为这两个组件分别属于不同层:接口定义属于业务模型层,这里我还是应该再强调一下:资源库不是DAO,您千万别使用错了,其操作的目标是聚合,不要啥啥都往里面放。资源库包含两类操作:领域模型新建或修改后肯定需要进行持久化,是为写操作,接收的参数应该是领域模型;涉及一些命令型的业务,肯定需要把领域模型查出来再操作,其返回值就应该是领域模型,此为读操作。至于说是否需要批量存储或需要根据什么特殊条件把领域模型搞出来,这完全是由业务规定的。总得来说,资源库关注的领域对象的操作。

阅读全文

本文共计11220个文字,预计阅读时间需要45分钟。

戏说领域驱动设计(廿四)的资源库有哪些特点?

开讲资源库,简单来说就是用于持久化或查询聚集的资源。注意!您需要与DAO区分:DAO操作的对象是数据实体;而资源库的目标是聚合(不存在通过资源库操作值对对象的情况)。

  开讲资源库,这东西简单来说就是用于持久化或查询聚合的。注意!您需要与DAO分别:DAO操作的对象是数据实体;而资源仓库的目标是聚合(不存在通过资源库操作值对象的情况,值对象必须依赖于某个实体)。你完全可以把资源库想像成为一个盒子,想要存储聚合的时候直接放进去即可;想要修改只需要取出后再放进去,就能把原有的对象替换掉;想要删除也只需要随手从盒子取出扔掉即可,至于盒子本身如何实现存储,作用用户的你根本不必关心。当然了,作为程序员得关心,你得为了达到这样一个目的去实现代码。从技术的角度去看,您完全可以把资源库当成领域模型序列化和反序列化的外观模式。这里需要注意一点,一个对象如果被放入了两次,在资源仓库中也只存在一个,有点类似于Java中的Set集合。至于如何区分不同的实体,当然是ID喽,前面讲过一百万次了。

1、聚合接口的定义

  我们在使用资源库的时候需要注意把接口的声明与实现进行分离。主要是因为这两个组件分别属于不同层:接口定义属于业务模型层,这里我还是应该再强调一下:资源库不是DAO,您千万别使用错了,其操作的目标是聚合,不要啥啥都往里面放。资源库包含两类操作:领域模型新建或修改后肯定需要进行持久化,是为写操作,接收的参数应该是领域模型;涉及一些命令型的业务,肯定需要把领域模型查出来再操作,其返回值就应该是领域模型,此为读操作。至于说是否需要批量存储或需要根据什么特殊条件把领域模型搞出来,这完全是由业务规定的。总得来说,资源库关注的领域对象的操作。

阅读全文