1 概述
1.1 定义
设计模式是一种被反复使用的代码设计经验的总结,其目的是为了复用代码,让代码可读性更强。
1.2 原则
- 开闭原则:对扩展开放,对修改关闭
- 单一职责原则:一个类应该实现单一的职责,两个完全不一样的功能不应该封装在同一个类中
- 里氏替换原则:抽象和继承的体现,任何基类可以出现的地方,子类一定可以出现,它是集成复用的基础。只有当子类可以正常替换基类,且功能不受影响时,基类才实现真正复用,而子类也可在基类的基础上实现自有功能
- 依赖倒置原则:面向接口编程,而不是面向实现编程,降低类之间的耦合性
- 接口隔离原则:为类创建多个供其调用的接口,而不是提供一个接口供所有依赖它的类去调用。约束接口,降低类对接口的依赖
- 迪米特原则(最少知识原则):一个类应当尽量少与其他实体类发生交互,要使系统的功能相对独立,降低类之间的耦合度,提高模块的相对独立性
1.3 分类
设计模式分为三种类型:
- 创建型模式:单例模式、抽象工厂模式、工厂模式、原型模式、建造者模式
- 结构型模式:代理模式、装饰模式、适配器模式、外观模式、组合模式、享元模式、桥接模式
- 行为型模式:观察者模式、责任链模式、模板模式、策略模式、迭代模式、命令模式、状态模式、备忘录模式、访问者模式、中介者模式、解释器模式