
22
|
第
3
章
我经常看到一些公司按照
康威定律
来设计系统。康威定律指出:“任何组织设计的系统架构
都不可避免地反映了该组织的沟通结构。”然而,为了减少摩擦并且更快地实现最终目标,
即得到一个令客户满意的优秀产品,这些公司需要让团队结构具备足够的灵活性以适应组
织的最佳解决方案。而
逆康威策略
建议改进团队和组织结构,以实现你所期望的架构。
3.1.3
如何定义限界上下文
过早地优化会拆分出不同的子域,在子域里通过拆分限界上下文可以适应以后的集成。相
反,我们需要等到有足够的信息时才能做出明智的决定。
因为业务是随着时间的推移而发展的,所以也需要复盘与限界上下文有关的决策。一开
始,限界上下文覆盖的范围会比较大,但是随着时间的推移和业务的发展,限界上下文会
变得难于管理或者过于复杂,所以我们决定将其拆分。拆分可能会导致大量的代码重构,
但这也可以大大精简代码库,加快新功能的开发速度。
为了避免过早拆分,我们需要在最后时刻做出决定,这样我们就有了更多的信息和应该遵
从的明确方向。在定义子域时,一定要和产品团队或者组织内部的领域专家提前沟通,他
们可以帮助我们定义系统运行的上下文。定义子域通常从数据和指标开始,比如我们会很
容易了解到用户和应用的交互方式以及登录用户和未登录用户的路径等。收集到的数据可
以让我们更加清楚如何划分子域,也可以帮助我们确立初始基线并以此为准来观察系统在
后续迭代中是否有所改进。
如果系统不具备可观察性,就需要投入时间去建构这部分能力。这部分投入会在开始划分
微前端的那一刻得到回报。如果没有报表和指标 ...