聚合体/服务/系统 =细胞/生物体/社会 | Szymon Kulec`Scooletz`


这篇文章用生物学概念来帮助你理解DDD设计中聚合服务等概念,细胞组成生物,生物组成社会。

细胞也称聚集
如果我们看一个细胞,它可能是表示聚合的一个很好的比喻,为什么这样?

  1. 细胞有边界(甚至是物理的)
  2. 细胞不会进入其他细胞的内部,因此可以保护其他细胞的安全
  3. 细胞封装了状态,这提供了一种有限的与细胞交互的方式

与聚合类似,细胞具有类型,但每种类型都有许多细胞。

服务又名有机体
服务定义了高阶边界。如人类进行比较,我们可以将它们与器官,甚至生物体。其中的细胞相互作用并构建支持生命的结构。我们创建的每项服务虽然不太可能支持人类生活,但是可以支持系统功能啊。
作为生物体的有趣方面是它可以与其他生物相互作用。更有趣的是,这些相互作用不是恒定不变的,一个人在一天,一个月,一年的不同时间可以有不同的相互作用。你工作时,在你的团队中度过一段时间,下班了与家人一起玩耍和笑,等等。

系统又称社会群体
人们之间的所有互动,创造某种社会群体,可以被称为系统。系统是由可能相同或不同的部件组成的彼此不同的系统,以不同的方式配置。系统由其部件组成而已。

还有更多吗?
生活中,我们可以根据需要治疗组织,器官,甚至细胞的一部分,通过引入细胞/生物/系统与服务或聚合的对比隐喻,我们可以提炼出对模型有用的关键事项。