我正在一个任务管理应用程序中工作,用户可以在其中打开工单。每个工单都有一个简短的描述字段,可以从列表中选择。后台团队最终可以添加、删除或更新简短描述列表。简短描述列表中的更改不得影响已创建的工单。
我认为简短描述从票证的角度来看是一个 VO,但从 CRUD 的角度来看也是一个实体。
我是否应该使用拖曳分离的存储库对两个分离的对象进行建模?一个用于 VO(只读),另一个用于 CRUD?代码复制呢?
我认为简短描述从票证的角度来看是一个 VO,但从 CRUD 的角度来看也是一个实体。
这有点可疑;我猜short descriptions
是值对象,但current list of approved short descriptions
是一个实体。
也就是说,后台团队正在修改文档,并且票证包含创建票证时从该文档复制的值。
我认为你做对了,你在两个有界的上下文中有两个模型。一个可以是具有各种属性(如lastEditDate
、creatorId
、textRepresentatuon
等)的 CRUD 实体,但在task management bc
中,它可以是包含字符串的简单value object
。数据复制可以在防腐蚀层中完成。