一、分类

Java23种设计模式【2】----》工厂模式

二、作用

Java23种设计模式【2】----》工厂模式

使项目容易扩展和维护

分工

Java23种设计模式【2】----》工厂模式

Java23种设计模式【2】----》工厂模式

三、没有工厂模式的写法

调用者和创建者在一起:

Java23种设计模式【2】----》工厂模式

四、工厂模式的使用

1、简单工厂模式

创建者(工厂):

Java23种设计模式【2】----》工厂模式

调用者(不用关心创建者怎么创建对象):

Java23种设计模式【2】----》工厂模式

缺点:新加新的对象只能修改程序,违背了面向对象的对修改关闭对扩展开放的原则

2、工厂方法模式

创建者:

Java23种设计模式【2】----》工厂模式

Java23种设计模式【2】----》工厂模式

当有新的实现时,继续添加类即可,而不用修改已有的代码

调用者:

Java23种设计模式【2】----》工厂模式

优点:更加符合面向对象的对修改关闭对扩展开放的原则

缺点:增加了很多新的类,造成了类的冗余

Java23种设计模式【2】----》工厂模式

3、抽象工厂模式

针对多个接口和其实现的情况

产品族:多个接口合一起

Java23种设计模式【2】----》工厂模式

生产者:

接口1、

Java23种设计模式【2】----》工厂模式

Java23种设计模式【2】----》工厂模式

接口2、

Java23种设计模式【2】----》工厂模式

接口3、

Java23种设计模式【2】----》工厂模式

工厂、

创建接口1、接口2、接口3的事例

Java23种设计模式【2】----》工厂模式

Java23种设计模式【2】----》工厂模式

消费者:

Java23种设计模式【2】----》工厂模式

开源项目的源码中可能遇到抽象工厂。

五、应用场景

Java23种设计模式【2】----》工厂模式

各个产品中创建相关的类都采用的是工厂模式;以Factory结尾的基本都是工厂模式;

工厂模式出现的时候可能会和单例模式等其他模式结合起来,如springMVC创建bean;

 

相关文章:

  • 2017-11-30
  • 2021-08-12
  • 2021-09-19
  • 2021-07-17
  • 2021-11-06
猜你喜欢
  • 2019-10-21
  • 2022-12-23
  • 2021-10-01
  • 2021-11-27
相关资源
相似解决方案