工厂模式(C++)

1.工厂模式

工厂模式主要为创建对象提供了接口,分为简单工厂模式,工厂方法模式,抽象工厂模式。

2.实现方式

1.简单工厂模式

应用情形:

手机厂可以指定生产苹果,华为,小米牌子的手机,哪个卖的好就生产哪个。

结构组成:

工厂类:简单工厂模式的核心类,定义一个创建具体实例对象的接口。

抽象产品类:具体产品类的父类。

具体产品类:工厂类创建的具体产品对象的实例。

实现代码:

缺陷:拓展性差,新增产品时需要修改工厂类。

2.工厂方法模式

应用情形:

手机卖的太火爆了,开设不同的厂子分别生产不同的手机

结构组成:

抽象工厂类:工厂方法模式的核心类,提供创建具体产品的接口,由具体工厂类实现

具体工厂类:继承于抽象工厂,实现创建对应具体产品对象的方式

抽象产品类:具体产品类的父类。

具体产品类:工厂类创建的具体产品对象的实例。

实现代码:

 缺陷:每新增一个产品,就需要增加一个对应的产品的具体工厂类

            一个厂子只有一个产品

3.抽象工厂模式

应用情形:

厂子壮大了,不仅卖手机还要卖电视机

结构组成:

抽象工厂类:工厂方法模式的核心类,提供创建具体产品的接口,由具体工厂类实现

具体工厂类:继承于抽象工厂,实现创建对应具体产品对象的方式

抽象产品类:具体产品类的父类。

具体产品类:工厂类创建的具体产品对象的实例。

实现代码:

 

 

 ​​​​​​​

 缺陷:每新增一个产品,就需要增加一个对应的产品的具体工厂类

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值