今天学习了工厂模式,工厂模式有3种,总结了一下他们的区别
工厂模式是设计模式中比较常用的模式之一,是比较典型的解耦模式。工厂模式分成3种:简单工厂模式、工厂方法模式和抽象工厂模式,依次越来越抽象。
简单总结出这三种工厂模式的区别:
简单工厂模式:一个抽象产品类,可以派生出多个具体产品类。
无抽象工厂
每个具体工厂类只能创建一个具体产品类的实例。
工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类只能创建一个具体产品类的实例。
抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。
一个抽象工厂类,可以派生出多个具体工厂类。
每个具体工厂类可以创建多个具体产品类的实例。
简单工厂模式改进:通常根据传入字符串生产对应具体产品,其实把字符串换成Class<T>,即采用泛型+反射机制即可做到新增加具体产品不用修改任何源码(仅限逻辑简单的初始化)
经过这次实验发现简单工厂模式配合泛型+反射机制使用是很强大的。
时间: 2024-11-05 19:29:23