抽象工厂模式


涉及到的角色
抽象工厂角色:担任这个角色的是工厂方法模式的核心,它是与应用系统的商业逻辑无关,通常使用接口或抽象类实现
具体工厂角色:这个角色直接在客户端的调用下创建产品的实例,这个角色含有选择合适的产品对象逻辑,而这个逻辑是与应用系统的商业逻辑紧密相关
抽象产品角色:担任这个角色的类是抽象工厂方法模式所创建的对象的父类,或它们共同拥有的接口,通常使用接口或抽象类实现这一角色


抽象工厂模式的使用地方
一个系统要独立于它的产品的创建、组合和表示时,一个系统有多个产品系列中的一个来配置,当你要强调一系列相关产品对象的设计以便进行联合使用时,当你提供一个产品类库,而只想显示它们的接口而不是实现


抽象工厂模式的优缺点
优点:
1> 产品从客户代码中被分离出来
2> 容易改变产品系列
3> 将一个系列的产品统一到一起创建
缺点:
在产品族中扩展新的产品是很困难的,它需要修改抽象工厂的接口


抽象工厂模式解决的问题

软件开发过程中经常会碰到一系列相关的对象需要创建,如果按照常规做法就要为不同的对象创建编写不同的代码,复用性和可维护性都降低,而且这些相关对象创建的方式也许不同,那么客户代码创建的时候就要针对不同的对象编码,对象创建的方式还是一个容易改变的地方,基于这种情况提出抽象工厂模式,抽象工厂模式为创建一系列相关对象提供统一的接口,客户只要调用这个接口即可,封装了变化,隔离了变化,让那个客户端代码稳定起来


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值