面向对象基础设计原则
- 抽象
- 封装
- 继承
- 多态
- 组合
典型的设计原则
-
Liskov替换原则(LSP)编程
- 即子类型必须可以替换他们的基类型,或者说子类型不能添加任何基类型没有的附加约束。
- 针对接口编程思想:实现继承破坏了基类的实现,接口继承并不定义对象之间的内部关系,耦合度更低,扩展性更好
-
开放-封闭原则(OCP)设计模式
- 即对修改封闭,对扩展开放
- 基本思想就是封装变化的行为做为抽象类或接口
- 策略模式和模板方法模式提供了实现
-
单一职责原则(SRP)框架
- 即一个类应当只有一个职责
- 创建高内聚的类,分离出不相关的功能
-
接口隔离原则(ISP)设计
- 即接口的单一职责性
- 定制服务,为不一样的角色提供不一样的接口,防止接口污染
-
依赖倒置原则(DIP)对象
- 即高层模块不该依赖于低层模块,二者都应该依赖于抽象
- 面向接口编程,让高层与低层都依赖接口(抽象)
- 其余表述
- 好莱坞原则:呆着别动,到时我会找你
- 控制反转(IoC)或依赖注入
- 好比利用抽象工厂模式解除两个类之间的依赖关系;利用Spring框架经过XML配置文件创建接口和具体类之间的关系
-
迪米特准则(LOD)blog
- 即一个类对于所依赖的类知道的越少越好
- 这是一个实用的职责分配模式,他指出应该与直接朋友通讯,将系统的耦合度保持最低
- 被依赖的类对外公开的方法要少,要创建中间人委托机制,进而面向接口编程
良好的OO设计
- 可复用
- 可扩充
- 可维护
- 设计模式
23种GoF设计模式
设计模式分为类模式和对象模式,类模式处理类和派生类之间的继承关系,对象模式处理对象之间的组织关系。
继承