最近开始学习设计模式,我将对设计模式(Java的实现)通过自己的理解总结成一系列的文章。
什么设计模式?设计模式最早起源于建筑学,后来被用于软件工程的开发与设计。设计模式是对软件工程中的各种问题进行分类、抽象而总结出来的设计“套路”,正是以不变应万变的思想。设计模式有效地提高了生产率,减少了程序员(软件工程师,架构师)的沟通成本。
这些设计套路共有23种,分为三大类:
- 创建模式 用于描述创建对象的方式
- 结构模式 用于描述对象间的组合关系
- 行为模式 用于描述对象间的通信与流程控制
具体而言,创建模式包含Factory Method(工厂方法模式)、 Abstract Factory(抽象工厂模式)、Builder(建造者模式)、Prototype(代理模式)、Singleton(单例模式);结构模式包含Adapter(适配器模式)、Bridge(桥接模式)、 Composite(组合模式)、Decorator(装饰器模式)、 Facade(外观模式)、Flyweight(享元模式)、Proxy(代理模式);行为模式包含Interpreter(解释器模式)、Template Method(模板方法模式)、Chain of Responsibility(职责链模式)、Command(命令模式)、Iterator(迭代器模式)、Mediator(中介者模式)、Memento(备忘录模式)、Observer(观察者模式)、State(状态模式)、Strategy(策略模式)、Visitor(访问者模式)。
设计模式在编程的时候的确是把简单的事情变复杂了,但是却在维护的时候把复杂的问题又给变简单了。事物总是矛盾而统一的,有优点也有缺点,关键在于在适当的时候做正确的应用。另外,良好的软件设计有助于代码重用和系统扩展。
之后,我会写出 Java与设计模式 系列文章,希望自己坚持下来。
-EOF-