工厂模式的Java实现

一 、工厂设计模式的定义

定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。

如下图所示,现有需求需建设不同风味(芝加哥、纽约、上海)的四种(芝士、素食、哈利、意式腊肠)披萨,如何构建代码便于实现。

抽象为创建者创建产品,创建者即为披萨商店,产品即为披萨,如下抽象图,

说明:Creator是一个类,它实现了所有操纵产品的方法,但不实现工厂方法,且其子类必须都实现factoryMethod()方法。ConcreteCreator负责一个或多个具体产品,只有其知道如何具体创建产品,实现了工厂方法。所有的ConcreteProduct必须实现具体的Product接口,这样使用这些产的类就可以引用这些接口而不是具体的类。

具体到上面披萨的建成可以参考如下UML图

具体代码实现请看GitHub代码https://github.com/sdc5730399/designing-pattern

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值