GoF简介
谈到java的设计模式不得不提到一本书《Design Patterns: Elements of Reusable Object-Oriented Software》。由四位业内大佬所著,哪四位呢?Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(百度上有,哈哈哈),他们被称四人组(Gang of Four),也就是GoF的由来。
设计模式概念
1. 软件设计模式的概念
软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代码的可重用性、代码的可读性和代码的可靠性。
2. 学习设计模式的意义
设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及类的关联关系和组合关系的充分理解。正确使用设计模式具有以下优点:
- 可以提高程序员的思维能力、编程能力和设计能力。
- 使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期。
- 使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。
以上为网络引用概念请供参考
二十三种设计模式

三种类型设计模式
23种设计模大概可以分成三种类型
- 创建型模式:主要用户对象的创建,实现创建与使用分离
- 结构型模式:采用组合聚合的形式或接口类的继承机制按照某种结构进行构造的方式,满足“合成复用原则”
- 行为型模式:通过程序的某种动作来进行协同工作
23种模式分别为:创建型模式 —(单例模式、原型模式、工厂方法模式、抽象工厂模式、建造者模式),结构型模式 —(代理模式、适配器模式、桥接模式、装饰模式、外观模式、亨元模式、组合模式),行为型模式(模板方法模式、策略模式、命令模式、职责链模式、观察者模式、状态模式、中介者模式、迭代器模式、访问者模式、备忘录模式、解释器)
这里先介绍有哪些模式,后面再详细介绍以及“栗子”
