5.2. 耦合 *¶
5.2.1. 耦合度¶
耦合度讲的是模块模块之间,代码代码之间的关联度,通过对系统的分析把他分解成一个一个子模块,子模块提供稳定的接口,达到降低系统耦合度的的目的,模块模块之间尽量使用模块接口访问,而不是随意引用其他模块的成员变量。
实现解耦的方法是通过接口来实现对类对象/模块内数据的操作。
5.2.1.1. 耦合具有两面性(two-headed beast)¶
一方面,紧密耦合的代码难以测试、难以复用、难以理解,并且典型地表现出“打地鼠”式的 bug 特性(修复一个 bug,却又出现一个或多个新的 bug)。
另一方面,一定程度的耦合又是必须的————完全没有耦合的代码什么也做不了。为了完成有实际意义的功能,不同的类必须以适当的方式进行交互。总而言之,耦合是必须的,但应当被小心谨慎地管理。