模块的独立程度可以由两个定性标准衡量,这两个标准分别是内聚和耦合。
内聚:
-
内聚的概念是Constantine、Yourdon、Stevens等人提出的。按他们的观点,把内聚按紧密程度从低到高排列次序为偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚。但是紧密程度的增长是非线性的。偶然内聚和逻辑内聚的模块联系松散,后面几种内聚相差不多,功能内聚一个功能、独立性强、内部结构紧密,是最理想的内聚。
耦合:
-
两个类之间的联系的紧密程度。
耦合,通俗的讲是让两者相互关联。
在电路中电容耦合就是通过电容把有用的信号传递过去。
-
class A { public int i; } class B{ public A a; public void put(A a) { System.out.println(a.i); } }
上面为强耦合
-
interface Run { void run(); } class Cat implements Run{ @Override public void run() { System.out.println("猫在跑步"); } } class Dog implements Run{ @Override public void run(){ System.out.println("狗在跑"); } } class C{ public void run(Run r) { r.run(); } }
通过接口实现弱耦合。