简单工厂模式

披萨项目

image.png

image.png

  1. 父类

image.png

2.子类 覆盖prepare方法
image.png

3.order类方法
image.png
image.png
image.png
image.png

大量实例化对象存在问题

添加一个披萨类,导致对修改开放,if else判断类

使用简单工厂模式解决

image.png

image.png

工厂类
image.png

order类

image.png
image.png

工厂方法模式

新需求

披萨项目加盟店困惑

image.png

创建对象抽象成方法

1.抽象工厂类
image.png
image.png

2.子类工厂
image.png

3.main 方法
image.png

image.png

image.png

抽象工厂模式

image.png

image.png

1.抽象工厂类

image.png

2.子类工厂

image.png

3.order类传入 抽象工厂类

image.png

image.png

4.main方法 传入具体的工厂类

image.png

工厂模式关键点

工厂模式的意义

提取对象实例化行为,
提取分三种:简单类、创建对象抽象成方法、工厂变工厂族

依赖抽象原则

image.png