我有一些大实体。实体拥有“Id”,“Status”等属性。 我有这个实体的存储库。 我想在一个实体中更改状态。 我应该获得整个实体,更改属性状态并在存储库中使用save方法,还是应该在存储库中使用方法ChangeStatus(id,newStatus)?
答案 0 :(得分:2)
可能您不需要域模型。您可以尝试直接使用SQL来更新数据库的transaction script。
当且仅当您需要聘请专家来了解业务时,您才需要域模型。 否则,它只是昂贵buzzwords driven development。
顺便说一句,如果你有大型实体类包含大多数操作中不需要的数据,那么你就知道你没有正确定义context boundaries。
有界上下文的最佳定义是Evans:
特定模型的分隔适用性。界限背景使团队成员能够清楚地了解必须保持一致的内容以及可以独立开发的内容。
即:您必须在每个术语具有明确含义和一组有限责任的上下文中拆分域专家知识。如果你这样做,你将获得具有高内聚力的小型和模块