我所理解的“工厂模式”

工厂模式,我更愿意叫它是“父母模式”或者“亲人模式”。

假设我们都是小孩子,我们需要 食物 衣服 玩具。

如果我向卖食物的老板,卖衣服的老板,卖玩具的老板借的话,我将欠他们东西。
(耦合)

后果是:第一,他们的儿子我不敢打了!(安全性的角度)
第二,如果某位老板搬家了,我必须自己去找其他老板。要知道我只是个小孩,这对我来说,是个极大的挑战。(修改自己的代码)

如果我是向父母要所需的东西,我只欠父母的。我受不到的限制只不过是以后不能抓弄妹妹了。

工厂模式,就类似于“父母”这样一个角色。其他程序需要某个对象,就向“工厂”类申请。从而降低了与其他类的耦合。


工厂模式分三种:简单工厂模式,工厂方法模式,抽象工厂模式。

简单工厂模式,就好比我们向父母要“玩具”。父母买了一房子的玩具,我们需要什么玩具,就跟父母说一声就行了!(传参数)
这种模式的缺点:父母会浪费钱。因为未必所有玩具我都需要。(可能浪费不必要的内存)


工厂方法模式,就好比我们要什么玩具,父母才买什么玩具给我们。这样会省钱。(省内存)
这种模式的不足:父母并不是什么东西都买给我们的。


抽象工厂模式: 就好比当父母不肯给我们某东西的时候,我们可以问“亲人”要。
当然,父母也是“亲人”。所以,使用这种模式的时候,最上层的接口就是“亲人”。我们要的所有东西都向“亲人”要。这样,我们要的东西就可以更多了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值