深入实践DDD:以DSL驱动复杂软件开发
上QQ阅读APP看书,第一时间看更新

1.3.4 聚合的整体与局部

聚合内的实体,从聚合根到其他实体,往往是一个强烈的整体与局部的关系。这意味着对聚合内部的非聚合根实体而言,它的ID(全局ID)极有可能最少由两个部分组成:一部分是聚合根的ID,另一部分是它在聚合内的局部ID。

比如说,OrderItem的局部ID可能是ProductId。如果允许同一个订单的不同行项出现相同的产品,那么最少你还可以创造一个叫作“行号(Sequence Id.)”的概念作为订单行项的局部ID。

再比如,人(作为聚合根)有左手和右手,那么,“左”或“右”就是“手”(作为聚合内部实体)的局部ID。

关于全局ID与局部ID的问题,后文还会进一步探讨。