前面介绍了简单工厂模式,接下来我们介绍第二中工厂模式,那它到底是什么呢?
![](https://img-blog.csdnimg.cn/2020090818394446.jpg)
工厂方法模式
看一个新的需求
披萨项目新的需求:客户在点披萨时,可以点不同口味的披萨,比如 北京的奶酪
pizza
、
北京的胡椒
pizza
或者是伦敦的奶酪
pizza
、伦敦的胡椒
pizza
。
思路
1
使用简单工厂模式,创建不同的简单工厂类,比如
BJPizzaSimpleFactory
、
LDPizzaSimpleFactory
等等
.
从当前这个案例来说,也是可以的,但是考虑到项目的
规模,以及软件的可维护性、可扩展性并不是特别好
这里我们就不一一写代码了 ,有了前面的简单工厂模式的代码,也非常的容易理解这个的代码,就是在简单工厂的基础上,在加一个抽象层【抽象类/方法接口(java中)】。
但是呢,为了 让大家理解起来没有这么困难,我还是把 UML类图提供给大家
![](https://img-blog.csdnimg.cn/2020090818570570.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ0MDY1MDg4,size_16,color_FFFFFF,t_70)
是不是 思路瞬间就非常的清晰了