auto commit
This commit is contained in:
parent
f6a00673a6
commit
2c5a99e456
|
@ -489,11 +489,11 @@ CheesePizza
|
|||
|
||||
每个地区的 PizzaStore 卖的 Pizza 虽然种类相同,但是都有自己的风味。一个客户点了纽约的 cheese 种类的 Pizza 和在芝加哥点的相同种类的 Pizza 是不同的。要求设计出满足条件的 PizzaStore。
|
||||
|
||||
## 2. 模式定义
|
||||
## 模式定义
|
||||
|
||||
定义了一个创建对象的接口,但由子类决定要实例化哪个类。工厂方法把实例化推迟到子类。
|
||||
|
||||
## 3. 模式类图
|
||||
## 模式类图
|
||||
|
||||
在简单工厂中,创建对象的是另一个类,而在工厂方法中,是由子类来创建对象。
|
||||
|
||||
|
@ -501,19 +501,19 @@ CheesePizza
|
|||
|
||||
<div align="center"> <img src="../pics//903093ec-acc8-4f9b-bf2c-b990b9a5390c.jpg"/> </div><br>
|
||||
|
||||
## 4. 问题的解决方案类图
|
||||
## 问题的解决方案类图
|
||||
|
||||
PizzaStore 有 orderPizza() 方法,顾客可以用它来下单。下单之后需要先使用 createPizza() 来制作 Pizza,这里的 createPizza() 就是 factoryMethod(),不同的 PizzaStore 子类实现了不同的 createPizza()。
|
||||
|
||||
<div align="center"> <img src="../pics//cfb05050-47aa-4fd1-86eb-a7c86320f81b.png"/> </div><br>
|
||||
|
||||
## 5. 设计原则
|
||||
## 设计原则
|
||||
|
||||
依赖倒置原则:要依赖抽象,不要依赖具体类。听起来像是针对接口编程,不针对实现编程,但是这个原则说明了:不能让高层组件依赖底层组件,而且,不管高层或底层组件,两者都应该依赖于抽象。例如,下图中 Pizza 是抽象类,PizzaStore 和 Pizza 子类都依赖于 Pizza 这个抽象类。
|
||||
|
||||
<div align="center"> <img src="../pics//ddf72ca9-c0be-49d7-ab81-57a99a974c8e.jpg"/> </div><br>
|
||||
|
||||
## 6. 代码实现
|
||||
## 代码实现
|
||||
|
||||
```java
|
||||
public interface Pizza {
|
||||
|
|
Loading…
Reference in New Issue
Block a user