所有分类
  • 所有分类
  • 未分类

工厂模式概述

工厂模式是比较基础的设计模式,建议掌握。

我之所以把工厂模式放到设计模式系列的最后,是因为工厂模式很简单,说白了就是将创建对象的方法单独拿出,没有什么高深的地方。

工厂模式的含义

含义:将对象的实例化封装在工厂类中,将对象的创建与使用分离。也就是说:是用工厂类的方法来代替 new 操作的。

工厂模式的优点

  1. 降低耦合度
    • 对象的创建与使用分离,使用者无需关心创建对象的细节,符合单一职责原则。当对象的创建过程很复杂时这个优点会更加突出。
  2. 使代码更简洁,易维护
    • 高质量的代码必须保证单个方法不要太长,因此要尽量将方法进行封装,易于维护。

使用场景

  1. 通过业务入参组装成自己要使用的对象
    • 比如,Controller传入的参数要组装为其他的对象,然后进行操作。这时就必须把这个组装的逻辑单独抽出来。
  2. Spring里大量使用工厂模式,比如:BeanFactory会生产通用的Bean,FactoryBean生产专用的Bean。

在实际项目中,我用到工厂模式的地方也就是:传入某几个对象,给另一个对象的字段赋值或生成新对象。在这种情况下,一个类里的方法一般既有创建对象的、也有给已有对象的字段赋值的,那么这个类名就不能是XxxFactory,更适合用XxxFieldHelper。

工厂模式的写法

工厂模式有如下几种写法:

简单工厂模式、工厂方法模式、抽象工厂模式。下边的Java实战会依次讲解。

Java实战

工厂模式Java实战-不用设计模式的写法 – 自学精灵

工厂模式Java实战-写法1:简单工厂模式 – 自学精灵

工厂模式Java实战-写法2:工厂方法模式 – 自学精灵

工厂模式Java实战-写法3:抽象工厂模式 – 自学精灵

1

评论0

请先

显示验证码
没有账号?注册  忘记密码?

社交账号快速登录