二十三种设计模式——抽象工厂模式

上页:设计模式总述


我们之前知道了什么是工厂模式,简言之,就是根据参数不同利用不同的类创建不同的对象。

实际上,抽象工厂模式和工厂模式相似,只不过是这个工厂中除了生产某种商品,还会生产另一种商品。

举个例子:

越南代工厂是Nike,Adidas两个工厂的球鞋生产地。现在我们假设球鞋除了品牌都是一样的,那么Nike,Adidas就是工厂类,而越南代工厂就是Nike,Adidas的基类,球鞋是越南代工厂的基类,两个公司想要生产球鞋,只需要告诉越南代工厂,具体细节有他实现,两个公司不必为了细节操心。这就是工厂模式。用户就是主方法,决定买那个厂商的球鞋,厂商是工厂,决定造球鞋,越南代工厂就是再深层次的类,决定怎么制造球鞋。

现如今,Nike和Adidas想要扩展业务,所以在越南代工厂中开始造衣服,假设衣服除了品牌也完全一样,那么Nike和Adidas只需告诉越南代工厂除了鞋,还要造衣服。这就是抽象工厂模式。这个模式中,用户依旧是主方法,用户将需求(鞋或者衣服)告诉Nike或者Adidas,剩下的都不用管了。Nike和Adidas也只需要告诉越南代工厂需要球鞋还是衣服,剩下的让代工厂处理。因此,代工厂除了继承鞋子类,还需要继承衣服类才能同时生产两种商品。

我们可以看到,抽象工厂模式是工厂模式的业务扩展,思想运用到代码上就是逻辑扩展。

只要了解了工厂模式,抽象工厂模式很容易理解,就没必要放逻辑图了,这些图看完更晕。。。 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值