Java设计模式概述
1. 什么是设计模式
设计模式是一套理论,由软件界的前辈总结出的一套可以反复使用的经验,以此来提供代码的可重用性、可维护性和可拓展性。
2.为什么使用设计模式
1、设计模式是前人根据经验总结出来的,使用设计模式,就相当于是站在了前人的肩膀上。
2、设计模式使程序易读。熟悉设计模式的人应该能够很容易读懂运用设计模式编写的程序。
3、设计模式能使编写的程序具有良好的可扩展性,满足系统设计的开闭原则。比如策略模式,就是将不同的算法封装在子类中,在需要添加新的算法时,只需添加新的子类,实现规定的接口,即可在不改变现有系统源码的情况下加入新的系统行为。
4、设计模式能降低系统中类与类之间的耦合度。比如工厂模式,使依赖类只需知道被依赖类所实现的接口或继承的抽象类,使依赖类与被依赖类之间的耦合度降低。
5、设计模式能提高代码的重用度。比如适配器模式,就能将系统中已经存在的符合新需求的功能代码兼容新的需求提出的接口。
6、设计模式能为常见的一些问题提供现成的解决方案。
7、设计模式增加了重用代码的方式。比如装饰器模式,在不使用继承的前提下重用系统中已存在的代码。
3. 设计模式的六大原则
设计模式中共计有以下六种设计原则,我们将在以后的章节中进行逐一说明。
- 单一职责原则
- 里氏替换原则
- 依赖倒置原则
- 接口隔离原则
- 迪米特法则
- 开闭原则
4. 23种设计模式
常用的设计模式共计23种,其中创建型5种,结构型7种,行为型11种。我们也将在后续的章节中进行说明。
4.1 创建型模式
- 单例模式(Singleton Pattern)
- 工厂方法模式(Factory Pattern)
- 抽象工厂模式(Abstract Factory Pattern)
- 建造者模式(Builder Pattern)
- 原型模式(Prototype Pattern)
4.2 结构型模式
- 适配器模式(Adapter Pattern)
- 桥接模式(Bridge Pattern)
- 过滤器模式(Filter、Criterial Pattern)
- 组合模式(Composite Pattern)
- 装饰器模式(Decorator Pattern)
- 外观模式(Facade Pattern)
- 享元模式(Flyweight Pattern)
4.3 行为型模式
- 策略模式(Strategy Pattern)
- 模板方法模式(Template Pattern)
- 观察者模式(Observer Pattern)
- 迭代器模式(Iterator Pattern)
- 责任链模式(Chain of Responsibility Pattern)
- 命令模式(Command Pattern)
- 备忘录模式(Memento Pattern)
- 状态模式(State Pattern)
- 访问者模式(Visitor Pattern)
- 中介者模式(Mediator Pattern)
- 解释器模式(Interpreter Pattern)