设计模式简介
# 设计模式简介
# 一、设计模式的目的
1、提高代码复用性
2、提高代码可读性
3、提高代码扩展性
4、提高代码可靠性
5、高内聚、低耦合
# 二、设计模式的六大原则
# 1、开闭原则(Open Close Principle)
对扩展开放,对修改关闭
# 2、里氏代换原则(Liskov Substitution Principle)
任何基类可以出现的地方,子类一定可以出现。LSP 是继承复用的基石
# 3、合成复用原则(Composite Reuse Principle)
尽量使用合成/聚合的方式,而不是使用继承
# 4、依赖倒转原则(Dependence Inversion Principle)
针对接口编程,依赖于抽象而不依赖于具体
# 5、接口隔离原则(Interface Segregation Principle)
使用多个隔离的接口,比使用单个接口要好。它强调降低依赖,低耦合
# 6、迪米特法则,又称最少知道原则(Law of Demeter)
一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立
# 三、设计模式的类型
# 1、创建型模式(Creational Patterns)
关注对象的创建。提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象
- 工厂模式(Factory Pattern)
- 抽象工厂模式(Abstract Factory Pattern)
- 单例模式(Singleton Pattern)
- 建造者模式(Builder Pattern)
- 原型模式(Prototype Pattern)
# 2、结构型模式(Structural Patterns)
关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式
- 装饰器模式(Decorator Pattern)
- 适配器模式(Adapter Pattern)
- 外观模式(Facade Pattern)
- 代理模式(Proxy Pattern)
- 享元模式(Flyweight Pattern)
- 组合模式(Composite Pattern)
- 桥接模式(Bridge Pattern)
# 3、行为型模式(Behavioral Patterns)
关注对象之间的行为