设计模式
一、简介
设计模式是对一些反复使用、被多数人知晓的、经过分类的、代码设计经验的总结。它代表了最佳的实践,通常被有经验的面向对象的软件开发人员使用。
使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。
二、设计原则
面象对象的设计原则主要有以下几种:
- 单一职责原则(Single Responsibity Principle)
- 开闭原则(Open Closed Principle)
- 里氏代换原则(Liskov Substitution Principle)
- 依赖倒置原则(Dependency Inversion Principle)
- 接口隔离原则(Interface Segregation Principle)
- 最小知识原则(Principle of Least Knowledge)
三、分类
设计模式根据使用目的分为三种:
1、创建型(Creational)
创建型模式主要用来创建对象,主要有以下5种:
- 单例模式(Singleton)
- 工厂方法模式(Factory Method)
- 抽象工厂模式(Abstract Factory)
- 建造者模式(Builder)
- 原型模式(Prototype)
2、结构型(Structural)
结构型模式主要用来组合类或者对象间的关系,主要有以下7种:
- 适配器模式(Adapter)
- 桥接模式(Bridge)
- 组合模式(Composite)
- 装饰者模式(Decorator)
- 外观模式(Facade)
- 享元模式(Flyweight)
- 代理模式(Proxy)
3、行为型(Behavioral)
行为型模式实现类或对象间的交互以及职责分配,主要有以下11种:
- 模板方法模式(Template Method)
- 观察者模式(Observer)
- 迭代器模式(Iterator)
- 解释器模式(Interpreter)
- 命令模式(Command)
- 状态模式(State)
- 策略模式(Strategy)
- 中介者模式(Mediator)
- 备忘录模式(Memento)
- 责任链模式(Chain of Responsibility)
- 访问者模式(Visitor)