创建型的设计模式:单例模式(Singleton)、构建模式(Builder)、原型模式(Prototype)、抽象工厂模式(Abstract Factory)、工厂方法模式(Factory Method)
行为设计模式:策略模式(Strategy)、状态模式(State)、责任链模式(Chain of Responsibility)、解释器模式(Interpreter)、命令模式(Command)、观察者模式(Observer)、备忘录模式(Memento)、迭代器模式(Iterator)、模板方法模式(Template Method)、访问者模式(Visitor)、中介者模式(Mediator)
结构型设计模式:装饰者模式(Decorator)、代理模式(Proxy)、组合模式(Composite)、桥连接模式(Bridge)、适配器模式(Adapter)、蝇量模式(Flyweight)、外观模式(Facade)
简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactory Method)模式,但不属于23种GOF设计模式之一。
工厂角色、抽象产品角色、具体产品角色
工厂方法模式
工厂方法模式是类的创建模式,又叫虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。
工厂方法模式角色与结构
1.抽象工厂(Creator)角色:是工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口。
2.具体工厂(Concrete Creator)角色:这是实现抽象工厂接口的具体工厂类,包含与应用程序密切相关的逻辑,并且受到应用程序调用以创建产品对象。
3.抽象产品(Product)角色:工厂方法模式所创建的对象的超类型,也就是产品对象的共同父类或共同拥有的接口。
4.具体产品(Concrete Product)角色:这个角色实现了抽象产品角色所定义的接口。某具体产品有专门的具体工厂创建,它们之间往往一一对应。
抽象工厂模式
抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。