Update 02.FactoryMethod.md
parent
875e2b2bfc
commit
add73de3f5
|
@ -17,17 +17,18 @@
|
|||
- **抽象产品(AbstractProduct)**:所有产品的基类,提供产品类的公共方法
|
||||
- **具体产品(ConcreteProduct)**:具体的产品类
|
||||
工厂方法模式UML类图如下:
|
||||
![avatar](.//1.Picture//工厂方法模式UML图.png)
|
||||
![avatar](https://github.com/FengJungle/DesignPattern/blob/master/02.FactoryMethod/1.Picture/%E5%B7%A5%E5%8E%82%E6%96%B9%E6%B3%95%E6%A8%A1%E5%BC%8FUML%E5%9B%BE.png)
|
||||
|
||||
# 3.工厂方法模式代码实例
|
||||
考虑这样一个场景,如下图:
|
||||
![avatar](.//1.Picture//工厂方法模式.png)
|
||||
![avatar](https://github.com/FengJungle/DesignPattern/blob/master/02.FactoryMethod/1.Picture/%E5%B7%A5%E5%8E%82%E6%96%B9%E6%B3%95%E6%A8%A1%E5%BC%8F.png)
|
||||
```
|
||||
Jungle想要进行户外运动,它可以选择打篮球、踢足球或者玩排球。和上一次的体育保管室不同,这次分别由篮球保管室、足球保管室和排球保管室,Jungle只需直接去相应的保管室就可以拿到对应的球!然后Jungle就可以愉快地玩耍了。
|
||||
Jungle想要进行户外运动,它可以选择打篮球、踢足球或者玩排球。和上一次的体育保管室不同,这次分别由篮球保管室、足球保管室和排球保管室.
|
||||
Jungle只需直接去相应的保管室就可以拿到对应的球!然后Jungle就可以愉快地玩耍了。
|
||||
```
|
||||
|
||||
对应的UML实例图如下图:
|
||||
![avatar](.//1.Picture//工厂方法模式UML实例图.png)
|
||||
![avatar](https://github.com/FengJungle/DesignPattern/blob/master/02.FactoryMethod/1.Picture/%E5%B7%A5%E5%8E%82%E6%96%B9%E6%B3%95%E6%A8%A1%E5%BC%8FUML%E5%AE%9E%E4%BE%8B%E5%9B%BE.png)
|
||||
|
||||
|
||||
## 3.1.定义抽象产品类AbstractSportProduct,方法不提供实现
|
||||
|
@ -223,4 +224,4 @@ Jungle play Volleyball
|
|||
## 适用环境:
|
||||
|
||||
- 客户端不需要知道它所需要创建的对象的类;
|
||||
- 抽象工厂类通过其子类来指定创建哪个对象(运用多态性设计和里氏代换原则)
|
||||
- 抽象工厂类通过其子类来指定创建哪个对象(运用多态性设计和里氏代换原则)
|
||||
|
|
Loading…
Reference in New Issue