前面介绍了简单工厂模式,接下来我们介绍第二中工厂模式,那它到底是什么呢?

工厂方法模式
看一个新的需求
披萨项目新的需求:客户在点披萨时,可以点不同口味的披萨,比如 北京的奶酪pizza、
北京的胡椒pizza 或者是伦敦的奶酪pizza、伦敦的胡椒pizza。
思路1
使用简单工厂模式,创建不同的简单工厂类,比如BJPizzaSimpleFactory、
LDPizzaSimpleFactory 等等.从当前这个案例来说,也是可以的,但是考虑到项目的
规模,以及软件的可维护性、可扩展性并不是特别好
这里我们就不一一写代码了 ,有了前面的简单工厂模式的代码,也非常的容易理解这个的代码,就是在简单工厂的基础上,在加一个抽象层【抽象类/方法接口(java中)】。
但是呢,为了 让大家理解起来没有这么困难,我还是把 UML类图提供给大家

是不是 思路瞬间就非常的清晰了