工厂模式
工厂模式分为三种:简单工厂---->工厂方法---->抽象工厂
1.简单工厂
简单工厂模式,并不属于23种设计模式的其中一种,这是比较简单\直接的方法.专门定义一个类用来负责创建其他类的实例,被创建的实例,通常都有一个共同的父类.简而言之,就是有一个用于专门生产某个产品的类.
概括: 一个工厂类,一个抽象产品类.
比喻: 麦当劳(工厂)-------------汉堡(抽象产品)---------------------多种口味(具体产品).
2.工厂方法
定义一个用于创建对象的接口,让子类决定实例化哪一个类,使一个类的实例化延迟到子类.简而言之,就是在简单工厂的工厂类上面,增加一个抽象工厂接口/类.
概况:多个工厂类,一个抽象产品类.
比喻: 麦当劳(工厂)+肯德基(工厂)-------------汉堡(抽象产品)--------------多种口味(具体产品)
3.抽象工厂
提供一个创建一系列相关的或者相互依赖对象的接口,而无需指定它们具体的类.
概括:多个工厂类,多个抽象产品类
比喻:麦当劳(工厂)+肯德基(工厂)+必胜客(工厂)------汉堡(抽象产品)+可乐(抽象产品)+炸鸡(抽象产品)-------多种口味(具体产品)
[备注] 抽象工厂和工厂方法之间可以相互转换.当抽象产品只有一个的时候,抽象工厂变成了工厂方法