我正在写一个在线商店,当我对域进行建模时,我想到了一个问题,如何对从不同系统以不同粒度更改的对象进行建模。
例如,假设我们有一个带有一些属性的 Product 实体:
- 产品编号
- 姓名
- 描述
- 价格
- 等等
我们从两个系统接收新产品和产品更新:库存管理系统(通过 web 服务)和集成在电子商务产品中的管理 web ui。
从库存管理中,我总是能获得具有所有属性的产品的完整更新(即使不是全部改变)。管理 ui 更新单个属性(crud)。
那么我应该如何在产品实体上建模(和命名)与业务案例相关的更改方法?
像 updateFromIms(price, description, name, ...) 之类的东西,或者我应该为每个属性编写一个设置器(这会破坏“不可修改”实体)