主要观点总结
本文主要讨论了在软件领域中的限界上下文概念,通过盲人摸象的例子说明看待事物时只看局部可能带来的谬误,并从正向角度理解限界上下文的意义。文章强调了在不同系统和不同语境下,对同一概念的不同理解和关注属性,以及运用分而治之思想定义模块的重要性。同时,通过摄像头角度的比喻来解释限界上下文与知识语境的关系。文章还讨论了在不同限界上下文中,同一领域概念可能存在的三种情形,并强调了避免庞大上帝类的重要性。
关键观点总结
关键观点1: 限界上下文是软件领域中的关键概念,用于划分系统的逻辑边界。
通过对盲人摸象的例子进行分析,说明了限界上下文的含义和重要性。
关键观点2: 在不同系统和不同语境下,同一概念会有不同的理解和关注属性。
文章通过举例说明了在身份管理、员工管理、客户关系管理以及培训管理系统中,同一人的身份和关注属性会有所不同。
关键观点3: 限界上下文与知识语境的关系。
通过摄像头角度的比喻来阐释限界上下文与知识语境的紧密联系。
关键观点4: 存在三种不同情形的领域概念在不同限界上下文中的表现。
文章详细解释了这三种情形,并通过案例说明了如何按照知识语境的要求在不同的限界上下文中定义不同的概念。
关键观点5: 限界上下文有助于避免庞大上帝类的出现。
通过将领域知识分散到不同的限界上下文中,可以更好地满足限界上下文的自治能力,保证它们的独立性。
文章预览
我在帮助人理解限界上下文时,常常用盲人摸象的例子来予以说明。 看待事物时,如果只看局部不看整体,当然不好,要是将看到的局部错以为是整体,就更是大大的谬误,盲人摸象讽刺的就是这样的人。然而,以此理解限界上下文,却需要 从正向的观点 看待盲人摸象的意义,因为在软件领域,很多时候就是需要将局部当做整体。 以人(Person)而言,对于任何一个软件系统而言,都不可能穷尽所谓“人”的所有属性,事实上,也不需要关心所有的属性,而是随着概念“进入”到不同的系统,展现不同的面貌,如下图所示: 该图说明,对于身份证号为510228200001015130的这样一个人,“进入”到居民身份管理系统时,其身份为公民,“进入”员工管理系统,身份为员工,“进入”客户关系管理系统,身份为客户,“进入”培训管理系统,身份为学员
………………………………