本文主要是介绍【23种设计模式之】0.简单工厂模式,1.工厂方法模式,2、抽象工厂模式——概述及适用场景,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考网站:工厂模式的作用,为什么要用工厂模式?,23种设计模式全解析
练习源码:https://github.com/liaoooyx/Design-Patterns
工厂模式的好处:
- 解耦:把对象的创建和使用的过程分开。工厂类专门负责创建各种产品类,用户只需要考虑使用哪种产品,并通过工厂类创建它。
- 高效:如果创建产品的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码,通过工厂类统一创建可以避免代码重复问题。
- 便于维护:由于创建过程都由工厂统一管理,所以发生业务逻辑变化,只需要在工厂里修改即可。
- 向后兼容:如果要新增不同的产品,通过工厂方法模式(使用接口),可以避免修改共厂类
工厂模式的适用场景:
- 对象的创建过程/实例化准备工作很复杂,需要初始化很多参数、查询数据库等。
- 类本身有好多子类,这些类的创建过程在业务中容易发生改变。
三种工厂模式的区别:
- 简单工厂模式:由一个工厂类来生成各种产品类,包括具体工厂类,产品接口,具体产品类。
- 工厂方法模式:新增了一个工厂接口来管理各个具体的工厂类。与简单工厂模式相比,工厂方法模式的好处在于,要新增产品时,不需要修改工厂类的代码,而是创建多一个实现了工厂接口的工厂类,以及创建一个实现了产品接口的产品类。(每个工厂创建一个产品)
- 抽象工厂模式:与工厂方法相似,但在抽象工厂模式中的工厂接口变成抽象工厂(其实工厂接口也一样),而每个具体的工厂类则负责创建多个产品。简单的说,就是工厂类中多了几个方法,用于创建不同的产品。(即每个工厂代表一条产品线,其中有多个产品。如汽车工厂A:车灯A,车饰A,车轮A,车漆A;汽车工厂B:车灯B,车饰B,车轮B,车漆B)
这篇关于【23种设计模式之】0.简单工厂模式,1.工厂方法模式,2、抽象工厂模式——概述及适用场景的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!