耦合
耦合指的是两个模块间相互依赖的程度。我们总是想要模块间低耦合。
我们可以再次看到耦合是关注点分离原则的另一方面。
高内聚低耦合的系统自带关注点分离,反之亦然。
回到单块系统场景
上一个改正拼写的场景里,很明显我们败在了关注点分离上。至少从部署的角度上看,我们完全没有任何的模块化。系统看上去都是低内聚高耦合的糟糕功能。
如果我们有一套分开的部署模块,拼写改正应该只会影响一个模块。很明显这样的部署变更更加安全。
当然实践中应该怎样来实现尚无定论。在这个特别的例子里,改正拼写很可能属于一个前端网络组件。最起码,这个前端组件应该能够从后端分离出来单独部署,并且拥有它们自己的生命周期。
然而在真实的世界里,我们可能没有足够幸运到总是能够影响企业采用不同的技术。
例如,前端可能是由一个专门的内容管理系统用自创的招式实现的。如果你遇到这种情况,明智的做法是时刻关注这样的系统所带来的成本。