一、设计模式的原则
1、单一职责原则
一个类只需要负责一种职责即可,一个类发生变化的原因,必然是所负责的职责发生变化
2、接口隔离原则
单一职责原则是接口隔离原则的基础,单一职责原则注重职责的划分,从职责角度进行类和接口的划分;接口隔离原则注重接口使用的 精确性 和 最小化
3、里氏替换原则
里氏替换原则是一种针对子类和父类关系的设计原则;子类需要实现父类中所有的抽象方法(为实现 替换 做好准备);子类可以加入自己的特有方法及属性;关于子类覆盖父类已实现方法(父类非抽象方法)的讨论
4、依赖倒置原则
依赖倒置原则是程序要依赖于抽象接口,不要依赖于具体实现。要求对抽象进行编程,不要对实现进行编程,简单地说就是 面向接口编程
5、迪米特法则
迪米特法则 又叫做最少知道原则,一个类对于其他类知道得越少越好,简单来说就是只暴露方法入口,而实现细节不需要暴露给调用者
6、开闭原则
开闭原则,开 是指对扩展开放,闭 是指对修改关闭。如果要修改一个功能,不是直接进行内部的代码修改,而是使用扩展的方式进行
二、设计模式的分类
1、创建型模式
创建型模式以 是否创建对象 为依据进行划分
- 工厂方法模式
- 抽象工厂模式
- 单例模式
- 建造者模式
- 原型模式
2、结构型模式
结构型模式,更加注重类或对象的结合方式,将类或对象进行结合,形成一个更大的结构,在该结构下,不同的组件扮演不同的角色
- 适配器模式
- 桥接模式
- 装饰模式
- 组合模式
- 外观模式
- 享元模式
- 代理模式
3、行为型模式
行为模式更加注重设计模式所体现出的行为动作
- 策略模式
- 模板方法模式
- 观察者模式
- 迭代模式
- 责任链模式
- 命令模式
- 备忘录模式
- 状态模式
- 访问者模式
- 中介者模式
- 解释器模式