在简单工厂模式中,可以根据参数的不同返回不同的实例。
简单工厂模式定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的实例。
缺点:1、工厂类集中了所有产品创建逻辑。(一旦某一个工厂类不能正常使用,整个系统就都不能正常使用了)
2、增加类的个数,同样也增加了系统的难度
3、系统扩展难,添加新的产品就改变了工厂逻辑
工厂方法模式定义一个用于创建对象的接口,让子类决定实例化哪一个类。
工厂模式:虚拟构造器模式、多态工厂模式
工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,工厂子类负责生成具体的产品对象。
工厂方法模式角色:抽象产品、具体产品、构造者、具体构造者
一个工厂可以提供多个产品对象,而不是单一的产品对象。
一个具体工厂中只有一个工厂方法或者一组重载的工厂方法。
抽象工厂模式:创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。
抽象工厂模式:kit模式、配套模式。
抽象工厂模式角色:抽象产品、具体产品、抽象工厂