工厂方法设计模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂方法设计模式相关的知识,希望对你有一定的参考价值。

简单工厂设计模式如果需要增加一个产品,则需要修改工厂类中的函数中swith或if中的分支,对原有的代码进行了修改,对原函数进行了修改, 那么原有的测试就是无效的,需要重新测试这个函数。之前所有的产品都需要测试一遍,增加成本同时也编码也可能错误

什么是工厂方法:

我的理解: 

1、抽象出一个工厂类,工厂类中有一个抽象函数作为创建对象函数

2、每一个工厂子类对应一个产品类,一个工厂子类只负责生产一种产品

创建的过程:

1、创建工厂类对象= 创建工厂子类对象

2、工厂子类对应的产品对象 = 调用工厂类对象调用工厂子类中的创建产品对象函数来创建产品对象

3、调用产品对象中的方法实现功能

好处:

以后需要增加产品可以直接增加一个产品类,一个产品对应的工厂子类,不需要修改原有的代码。可扩展性非常好

相对于简单工厂模式把产品对象的创建过程推送到工厂子类中

技术分享

技术分享

 

 

以上是关于工厂方法设计模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式之工厂方法和抽象工厂

设计模式-简单工厂工厂方法模式抽象工厂模式详解

设计模式-工厂方法模式(Go实现)

工厂方法模式

C++工厂模式(简单工厂工厂方法抽象工厂)

C++工厂模式(简单工厂工厂方法抽象工厂)