首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

设计模式之工厂方法模式

设计模式之工厂方法模式

工厂方法模式(Factory Method Pattern):定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。工厂方法模式让一个类的实例化延迟到其子类。

类图如下:

工厂方法类图

抽象和据图产品类代码如下,接口抽象出产品的共同方法,

抽象产品和具体产品

抽象工厂和具体工厂:

抽象工厂和具体工厂

场景类的调用代码如下:

场景类的调用代码

工厂方法的优点

1、可扩展性,添加一个产品不用修改原来的代码,可以添加一个产品的实现类和一个工厂的实现类即可。

2、隔离性,客户端只知道工厂就行,不需要知道创建产品的细节,实现系统解耦。

缺点

1、每次增加一个产品都会增加相应的工厂类,这个可以用反射方式实现,避免过多的工厂类。

工厂方法有好多的扩展和转换,即可以缩小为简单工厂,也可以扩展为延迟功能的工厂方法等。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200328A0PZ4A00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券