设计模式:一种可以被重复利用的解决方案。
GoF(Gang of Four),中文名——四人组。
《Design Patterns: Elements of Reusable Object-Oriented Software》(即《设计模式》一书),1995年由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著。这几位作者常被称为"四人组(Gang of Four)"。
该书中描述了23种设计模式。我们平常所说的设计模式就是指这23种设计模式。
不过除了GoF23种设计模式之外,还有其它的设计模式,比如:JavaEE的设计模式(DAO模式、MVC模式等)。
GoF23种设计模式可分为三大类:
创建型(5个):解决对象创建问题。
单例模式
工厂方法模式
抽象工厂模式
建造者模式
原型模式
结构型(7个):一些类或对象组合在一起的经典结构。
代理模式
装饰模式
适配器模式
组合模式
享元模式
外观模式
桥接模式
行为型(11个):解决类或对象之间的交互问题。
策略模式
模板方法模式
责任链模式
观察者模式
迭代子模式
命令模式
备忘录模式
状态模式
访问者模式
中介者模式
解释器模式
工厂模式是解决对象创建问题的,所以工厂模式属于创建型设计模式。这里为什么学习工厂模式呢?这是因为Spring框架底层使用了大量的工厂模式。
工厂模式通常有三种形态:
第一种:简单工厂模式(Simple Factory):不属于23种设计模式之一。简单工厂模式又叫做:静态 工厂方法模式。简单工厂模式是工厂方法模式的一种特殊实现。
第二种:工厂方法模式(Factory Method):是23种设计模式之一。
第三种:抽象工厂模式(Abstract Factory):是23种设计模式之一。