策略模式与工厂模式的区分

策略模式与工厂模式非常的相像,下面我们来通过一个简单的例子来进行区分。

 比如:某天你在某个店家付了10块钱说想要一杯可乐,没过多久店家就给你端来了一杯可乐,但你并不知道这杯可乐是来自肯德基的还是来自麦当劳的,反正你只出了10块钱告诉老板你想要可乐然后可乐就来了,这就是工厂模式。

再比如:你需要喝一杯可乐,你出了10块钱给老板,老板问你是想和肯德基的还是麦当劳的,你告诉老板麦当劳的,于是老板给你上了一杯可乐,也就是你指定了老板以何种方式去获得可乐,这就是策略模式。


一般情况下,策略模式是为了解决策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立与使用策略的客户。


工厂模式主要解决的是资源的统一分发,将对象的创建独立出来,让对象的创建和具体的使用与客户无关。


在了解了以上几点后,很明显,策略模式是开放的,作为一个主体,你的活动范围是全程的,大多数事情要你自己亲力亲为。而工厂模式是封闭的,作为主体的你活动范围是有限的,很多事情都帮你做好了,你直接"点"就好了。


再举个浅显的例子:

以前买电脑,你需要自己买显示屏,CPU,显卡...然后自己组装成电脑,这就叫做策略模式。

而现在你买电脑,只需要去电脑城跟老板说你要什么牌子什么型号的电脑老板就会给你拿出一台现成的电脑,这就叫工厂模式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值