1 概念
1.1 “开-闭”原则
一个软件实体应当对扩展开发,对修改关闭。
基类出现的地方,子类一定可以出现,反之则不然。
要依赖于抽象,不要依赖于具体。
使用多个专门的接口比使用单一的总接口要好。
又叫合成复用原则,在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过这些对象的委派达到复用已有功能的目的。要尽量使用合成/聚合,尽量不要使用继承。
表示强烈的拥有关系,在一个合成关系里,部分和整体的生命周期是一样的,一个合成的新的对象完全拥有对其组成部分的支配权,包括它们的创建和湮灭等。
表示拥有关系或整体与部分的关系。
又称最少知识原则,即一个对象应当对其他对象尽可能少的了解。
迪米特法则还有以下三种描述:
(1) 只与你直接的朋友通信;
(2) 不要跟“陌生人”说话;
(3) 每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。