一句话总结:保证创建大量对象,并且统一到工厂中处理。
一、分类
二、作用
使项目容易扩展和维护
分工
三、没有工厂模式的写法
调用者和创建者在一起:
四、工厂模式的使用
1、简单工厂模式
创建者(工厂):
调用者(不用关心创建者怎么创建对象):
缺点:新加新的对象只能修改程序,违背了面向对象的对修改关闭对扩展开放的原则
2、工厂方法模式
创建者:
当有新的实现时,继续添加类即可,而不用修改已有的代码
调用者:
优点:更加符合面向对象的对修改关闭对扩展开放的原则
缺点:增加了很多新的类,造成了类的冗余
3、抽象工厂模式
针对多个接口和其实现的情况
产品族:多个接口合一起
生产者:
接口1、
接口2、
接口3、
工厂、
创建接口1、接口2、接口3的事例
消费者:
开源项目的源码中可能遇到抽象工厂。
五、应用场景
各个产品中创建相关的类都采用的是工厂模式;以Factory结尾的基本都是工厂模式;
工厂模式出现的时候可能会和单例模式等其他模式结合起来,如springMVC创建bean;