设计模式
简单工厂模式
有一组同类对象,由统一的函数根据不同的参数返回对应的对象.组成有工厂类,抽象产品类,具体产品类
优点:
1.对象创建和使用的分离
缺点:
1.新对象增多时,增加工厂类的逻辑复杂度,不利于以后的维护
2.当要添加新对象时,要修改工厂类代码
适用场景:
1.工厂类负责创建的对象不是很多时
2.调用方不关心创建对象过程
工厂方法模式
是对简单工厂模式的优化,当有新对象产品要添加时,不需要修改工厂类,只要添加新的子工厂类和产品类
优点:
1.添加新产品时,不需修改调用方代码
缺点:
1.添加新产品时需要添加具体工厂类和产品类
抽象工厂模式:
将工厂模式中一个工厂生产一个具体产品,升级为一个工厂生产一系列产品
优点:
1.隔离了具体产品的生成
2.保证调用方使用一个产品簇中的对象
3.添加新的产品簇更加方便
缺点:
1.添加新的产品等级结构麻烦,需要对系统进行较大的修改,甚至修改抽象层代码