目录
一、什么是工厂模式?
工厂,顾名思义,用于生产,产出可以使用的产品,工厂模式即是将类的生产集中化,隐藏生产细节,使用时直接返回对象,无需知道创建过程。
二、为什么用工厂模式?
1.减少耦合
工厂模式将类的创建过程封装到工厂中,其他类调用对象时无需new一个新对象,直接调用功能即可。
2.符合开闭原则,便于修改
将创建过程统一封装,修改时统一在工厂中修改,每种类设置一个工厂修改和添加时不影响其他类的代码。对于一些创建过程比较复杂的类,使用工厂模式,可以减少代码量,比如数据库创建等。
三、工厂模式分类
1.简单工厂
简单工厂将所有的子类创建统一在一起判断,不符合开闭原则,添加或修改会影响到原来的代码。
2.工厂方法模式
将所有子类的创造分开来写分别继承总工厂的方法,利用多态,实现了开闭原则,但增加了类,维护变得繁重。
3.抽象工厂
抽象工厂是为了处理更为细化的一类产品实际还是工厂方法模式。
总结
工厂模式主要分为三种,常用后两种,其优点是实现了类的解耦,统一管理类的创建,便于修改,且减少了代码的重复,减少了复杂创建过程造成的代码冗余。