传统模式
需求:一个披萨的项目
1、披萨的种类很多(GreekPizz,CheesePizz)
2、披萨的制作有:prepare ,bake,cut,box
3、完成披萨店订阅功能
传统模式.png
传统模式.png
优点:比较好理解,简单易操作
缺点:违反了设计模式ocp原则,即对扩展开放,对修改关闭,就是我们给类添加新功能时,尽量少修改代码
传统模式弊端.png
分析:修改代码有多处
思路:把创建的披萨对象封装到一个类中,这样当我们有了新的披萨类时,只需修改该类就行(简单工厂模式)
简单工厂模式
简单工厂模式.png
image.png
工厂方法模式
披萨项目的新需求:可以点不同口味的披萨如:北京的奶酪披萨,伦敦的奶酪披萨,北京的胡椒披萨,伦敦的胡椒披萨
思路一:使用简单的工厂模式,可是扩展性不是很好
思路二:使用方法工厂模式
image.png
image.png
抽象工厂模式
image.png
image.png