当前位置:网站首页>工厂模式和策略模式的区别
工厂模式和策略模式的区别
2022-06-29 08:17:00 【amateur12】
同:
在模式结构上,两者很相似

异:
1.工厂是创建型模式,它的作用就是创建对象,根据传参不同,创建不同对象,创建完对象再使用对象的方法
策略是行为型模式,它的作用是让一个对象在许多行为中选择一种行为
2.一个关注对象创建,一个关注行为封装
3.工厂传参是一个类型,策略传参是一个new对象
总结:
工厂模式可以做到的事情,策略模式都可以做到。策略模式可以做到的事情,工厂模式也可以做到,只是会变得麻烦。因为,工厂模式主要是返回的接口实现类的实例化对象,然后再调用对象的方法,而策略模式的对象是在实例化策略模式的时候已经创建好了,我们可以在策略模式中随意的拼接重写方法,而工厂模式是不管方法的拼接这些的,他只关注最后的结果,不注重过程,每次只返回实例化对象,然后再一次一次调用对象的方法,而策略模式注重的是过程。
分别适用场景:
工厂模式是创建型的设计模式,它接受指令,创建出需要的实例;主要解决的是资源的统一分发,将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。主要应用在多数据库选择,类库文件加载等。
策略模式是为解决策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立于使用策略的客户。
补充:
策略模式和微服务:
策略模式和微服务很像,比如我们写3个接口,吃饭是一个微服务,跑步是一个微服务,穿衣是一个微服务。策略模式的宗旨就是将各项方法之间连接起来,达到一个新的方法,微服务的宗旨也是防止服务的多次调用,降低代码的耦合度,因此这么看来策略模式和微服务还是比较像的
边栏推荐
- 目标跟踪【单目标跟踪(VOT/SOT)、目标检测(detection)、行人重识别(Re-ID)】
- 工作好多年,回忆人生--高中三年
- CDGA|交通行业做好数字化转型的核心是什么?
- Memoirs of actual combat: breaking the border from webshell
- [domain penetration authorization] cve-2020-1472 Netlogon privilege escalation vulnerability
- 【无标题】
- Matlab 用法
- 2022春夏系列 KOREANO ESSENTIAL重塑时装生命力
- The sixth season of 2022 perfect children's model Qingyuan competition area audition came to a successful conclusion
- 图解SOC中的Timer(一):系统里有哪些Timer?
猜你喜欢
![[most complete] download and installation of various versions of PS and tutorial of small test ox knife (Photoshop CS3 ~ ~ Photoshop 2022)](/img/6d/4d8d90dd221de697f4c2ab5dcc7f96.png)
[most complete] download and installation of various versions of PS and tutorial of small test ox knife (Photoshop CS3 ~ ~ Photoshop 2022)

实战回忆录:从Webshell开始突破边界

Self attention mechanism

CDGA|交通行业做好数字化转型的核心是什么?

Standard | China payment and clearing Association releases the first privacy computing financial specification

Differences between x86 and x64

闭关修炼(二十一)Servlet生命周期、service方法源码分析、线程安全问题

ThreadLocal thread variable

2022第六季完美童模 合肥赛区 决赛圆满落幕

Carbon emission reduction of second-hand trading platform, with assessment standards
随机推荐
积分商城运营要如何做才能获取到利润
VMware vcenter/esxi series vulnerability summary
2022年7月产品经理认证招生简章(NPDP)
对比HomeKit、米家,智汀家庭云版有哪些场景化的体验
Write time replication of hugetlbfs
闭关修炼(二十四)浅入了解跨域问题
Standard | China payment and clearing Association releases the first privacy computing financial specification
Transformer details
目标跟踪【单目标跟踪(VOT/SOT)、目标检测(detection)、行人重识别(Re-ID)】
Some "non-technical" Thoughts on distributed digital identity
La finale de la zone de compétition Hefei de la sixième saison 2022 a été couronnée de succès.
2022第六季完美童模 合肥赛区 决赛圆满落幕
Speech synthesis: overview [generation task of unequal length sequence relation modeling]
Sorting out easily confused words in postgraduate entrance examination English 【 flash 】
Voice annotation tool: Praat
Debugging nocturnal simulator with ADB command
航芯开发板&调试器
324. 摆动排序 II / 剑指 Offer II 102. 加减的目标值
【无标题】
对话| 数字时代,隐私计算的发展前景与挑战