想象的重要性(抽象工厂)

在看到抽象工厂的时候,在这里面要注意的就是抽象二字,正是因为有了这个抽象才把多而复杂的问题给简单化了,在生活中经常看到一些系列性的东西,但是这些系列性的东西再生产的时候要如何方便呢,这个问题就是今天要说的最重要的事情,在代码的世界中也是一个道理,下面这张图就是解释这个问题的最好途径之一。

通过图中可以看到冰淇淋后面有很多种口味,就不一一列举了,首先我们在生产冰淇淋的时候就需要有一个工厂了,这个工厂是用来生产冰淇淋的,生产完冰淇淋以后我们需要有不同的口味已满足顾客需求吧,那就再创建一个专门负责口味调制的工厂,那这个口味调制可能就是多个了,毕竟为了满足效率就会让每个工厂只负责一件事情,完成上面这些步骤只需要把冰淇淋的份量再进行一个划分就好了,这也需要一个工厂来完成,其实在生活中可以发现这些步骤,最早出现的是以前的福特汽车生产线,每条生产线只负责一件事情,然后把汽车的生产步骤拆分成一步步的工作,把生产成本降到了当时极低,效率极大的提高。

所以抽象工厂也是把一个系列的产品进行抽象,然后根据抽象类的产品派生出多个具体产品,我们最开始的那个抽象工厂是不负责实际操作的,它只是一个接口,通过接口实现实际的工厂和实际产品。

总结:

抽象工厂模式是为了让创建工厂和一组产品与使用相分离,并可以随时切换到另一个工厂以及另一组产品;

抽象工厂模式实现的关键点是定义工厂接口和产品接口,但如何实现工厂与产品本身需要留给具体的子类实现,客户端只和抽象工厂与抽象产品打交道。

缺点:

规定了所有可能被创建的产品集合,产品族中扩展新的产品困难,需要修改抽象工厂的接口
增加了系统的抽象性和理解难度

以上这些都是看过一些关于抽象工厂的资料后进行的一个小理解,如有不足之处还请指出。

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮卡冲撞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值