工厂模式是比较基础的设计模式,建议掌握。
我之所以把工厂模式放到设计模式系列的最后,是因为工厂模式很简单,说白了就是将创建对象的方法单独拿出,没有什么高深的地方。
工厂模式的含义
含义:将对象的实例化封装在工厂类中,将对象的创建与使用分离。也就是说:是用工厂类的方法来代替 new 操作的。
工厂模式的优点
- 降低耦合度
- 对象的创建与使用分离,使用者无需关心创建对象的细节,符合单一职责原则。当对象的创建过程很复杂时这个优点会更加突出。
- 使代码更简洁,易维护
- 高质量的代码必须保证单个方法不要太长,因此要尽量将方法进行封装,易于维护。
使用场景
- 通过业务入参组装成自己要使用的对象
- 比如,Controller传入的参数要组装为其他的对象,然后进行操作。这时就必须把这个组装的逻辑单独抽出来。
- Spring里大量使用工厂模式,比如:BeanFactory会生产通用的Bean,FactoryBean生产专用的Bean。
在实际项目中,我用到工厂模式的地方也就是:传入某几个对象,给另一个对象的字段赋值或生成新对象。在这种情况下,一个类里的方法一般既有创建对象的、也有给已有对象的字段赋值的,那么这个类名就不能是XxxFactory,更适合用XxxFieldHelper。
工厂模式的写法
工厂模式有如下几种写法:
简单工厂模式、工厂方法模式、抽象工厂模式。下边的Java实战会依次讲解。
请先
!