设计模式(对象创建)——工厂方法模式
来源:互联网 发布:java 接口 编辑:程序博客网 时间:2024/05/18 02:24
工厂方法模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。
场景还原(披萨订购):
Ethan需要从纽约披萨店订购披萨,Joel需要从芝加哥披萨店订购披萨。
1)首先,Joel和Ethan需要取得比萨店的实例,Joel需要实例化一个ChicagoPizzaStore,而Ethan需要实例化一个NYPizzaStore.
2)有了各自的PizzaStore, Joel和Ethan分别调用orderPizza()方法,并传入他们喜欢的比萨类型(芝士、素食……)。
3)orderPizza()调用createPizza()创建比萨。
UML类图阐述:
工厂方法模式是在简单工厂模式的基础上,对“工厂”添加了一个抽象层。将工厂共同的动作抽象出来,作为抽象类,而具体的行为由子类本身去实现,让子类去决定生产什么样的产品。图片来源
模式结构:
- Product:抽象产品
- ConcreteProduct:具体产品
- Factory:抽象工厂
- ConcreteFactory:具体工厂
更多C++示例代码,请移步到本人的github。
设计模式,祝愿你把代码写成艺术。
6/15/2017 1:55:48 PM
阅读全文
0 0
- 设计模式(对象创建)——工厂方法模式
- 设计模式(对象创建)——抽象工厂模式
- 设计模式深入浅出(一)对象创建——工厂方法,抽象工厂
- 设计模式【2】:工厂方法【创建对象】
- 第一篇、创建型设计模式——简单工厂模式(静态工厂方法模式)
- 设计模式之对象创建型 — Factory Method 工厂方法模式
- 创建型设计模式——工厂方法模式
- 设计模式_创建型模式——工厂方法
- PHP生成对象之设计模式—工厂方法模式
- 设计模式:对象创建(原型,单例,简单工厂,工厂方法,抽象工厂,生成器)
- 设计模式学习(创建型模式)—工厂方法模式(Factory Method)
- 工厂方法模式(对象创建)
- (4)设计模式方法-创建型设计模式--:简单工厂模式【【【工厂方法模式
- 设计模式-工厂方法模式(创建型模式)
- 设计模式之ABSTRACT FACTORY(抽象工厂)—对象创建型模式
- 设计模式——工厂模式(方法模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 设计模式系列——三个工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
- 【原创】KM算法 ※HDU 2225 POJ 2195
- 使用openssl进行RSA加密解密
- C#自己编写软键盘
- CentOS7安装Python3.6
- leetcode.557.Reverse Words in a String III
- 设计模式(对象创建)——工厂方法模式
- 高级项目管理师公开课举行
- hdoj 1001
- 二维码识别开源项目zxing的使用和源码分析
- 字符串
- Spring Boot Junit 测试Controller
- 给初学者的RxJava2.0教程(六)
- docker部署mitmproxy代理抓包(五)
- json往前台传输数据问题