设计模式的目的:
- 重用性 (相同功能的代码,不用多次编写)
- 可读性 (编程规范性, 便于其他程序员的阅读和理解)
- 可扩展性 (当需要增加新的功能时,非常的方便,称为可维护)
- 可靠性 (当我们增加新的功能后,对原来的功能没有影响)
- 使程序呈现高内聚,低耦合的特性
设计模式的七大原则:
- 单一职责原则:一个类应该只负责一项职责
- 接口隔离原则:一个类对另一个类的依赖应该建立在最小的接口上。客户端不应该依赖它不需要的接口
- 依赖倒转(倒置)原则:对抽象进行编程,不要对实现进行编程。程序要依赖于抽象接口,不要依赖于具体实现
- 里氏替换原则:子类可以扩展父类的功能,但不能改变原有父类的功能
- 开闭原则:又叫开放封闭原则。对扩展开发,对修改关闭
- 迪米特法则:又叫最少知识原则。一个类对于其他类知道的越少越好
- 合成复用原则:又叫组合/聚合复用原则。通过将已有的对象纳入新对象中,作为新对象的成员对象来实现的,新对象可以调用已有对象的功能,从而达到复用。软件复用时,要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现
创建型模式:
- 单例模式
- 抽象工厂模式
- 原型模式
- 建造者模式
- 工厂模式
结构型模式:
- 适配器模式
- 桥接模式
- 装饰模式
- 组合模式
- 外观模式
- 享元模式
- 代理模式
行为型模式:
- 模版方法模式
- 命令模式
- 访问者模式
- 迭代器模式(Iterator)(生成器模式(generator)是迭代器的一种,即迭代器的实现)
- 观察者模式
- 中介者模式
- 备忘录模式、
- 解释器模式(Interpreter)
- 状态模式
- 策略模式
- 职责链模式(责任链模式)