耦合(coupling) :是指在一个系统内部一个模块对另外一个模块的依赖程度,这个概念一样适用于两个系统之间.若是两个模块(或系统)彼此的依赖程度很高,以致于修改一个模块(或系统)时,必须对另一个模块(或系统)进行修改,咱们就称其是紧耦合(tightly coupled)的,开发人员应该尽可能追求相反的效果,以实现松耦合(loosely coupled)的模块和系统.
内聚(cohesion) :是指系统的一个特定的模块或子系统独立、完整地实现系统的一个功能的程度.强内聚(strongly cohesive)的模块只实现一个功能,而弱内聚(weakly cohesive)的模块实现不少功能.强内聚的模块之因此受了普遍的青睐,是由于与弱内聚模块相比,强内聚的模块更利于维护和重用.
封装(encapsulation) :是指系统中模块的底层实现的隐藏程度.封装是与松耦合和强内聚并列的概念.咱们说逻辑封装在模块中,指的是模块的方法或属性没有公开其内部行为相关的设计决策。