sincerit 工厂方法模式(Factory Method Pattern)

上一篇讲到简单工厂模式,它不好之处就是简单工厂职责过重当新增加一个产品的时候,工厂方法的源码要新增加一个else if 这样修改了源码不符合开闭原则,下面改进一下创建多个工厂
工厂方法模式(Factory Method Pattern)
工厂方法模式:定义了一个用于创建对象的接口,让子类决定实例化哪一个类, 工厂方法使一个类的实例化延迟到其子类
工厂方法模式:需要一个Creator接口类,一个Product接口类,Creator的具体子类,Product的具体子类。
工厂方法模式:称为工厂模式或多态工厂模式,让一个类的实例化延迟到Creator的子类ConcreteCreator。
工厂方法模式:属于23种GOF设计模式,并且是一种类创建型模式
工厂方法模式:实质是由Factory接口类的子类工厂去创建具体的产品对象。

工厂方法结构模式图:
在这里插入图片描述

工厂方法模式所包含的类:
Creator: 工厂接口类,定义一个接口方法其不同的具体工厂子类实现不同的具体产品类对象。
Product: 产品接口类,定义一个功能接口让它的具体产品子类实现其自身的功能
ConcreteCreator: 具体工厂类,继承并实现Creator的接口类的方法–返回一个产品类的实例(对象)
ConcreteProduct: 具体产品类,继承并实现Product接口类的方法–实现本身的产品功能方法
Cilent: 客户端类,只需要有工厂接口类产生一个工厂A,再定义一个产品接口类B,再由A工厂生产一个产品对象初始化B,客户端就可以使用产品B了.

代码如下:
待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值