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

异:
1.工厂是创建型模式,它的作用就是创建对象,根据传参不同,创建不同对象,创建完对象再使用对象的方法
策略是行为型模式,它的作用是让一个对象在许多行为中选择一种行为
2.一个关注对象创建,一个关注行为封装
3.工厂传参是一个类型,策略传参是一个new对象
总结:
工厂模式可以做到的事情,策略模式都可以做到。策略模式可以做到的事情,工厂模式也可以做到,只是会变得麻烦。因为,工厂模式主要是返回的接口实现类的实例化对象,然后再调用对象的方法,而策略模式的对象是在实例化策略模式的时候已经创建好了,我们可以在策略模式中随意的拼接重写方法,而工厂模式是不管方法的拼接这些的,他只关注最后的结果,不注重过程,每次只返回实例化对象,然后再一次一次调用对象的方法,而策略模式注重的是过程。
分别适用场景:
工厂模式是创建型的设计模式,它接受指令,创建出需要的实例;主要解决的是资源的统一分发,将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。主要应用在多数据库选择,类库文件加载等。
策略模式是为解决策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立于使用策略的客户。
补充:
策略模式和微服务:
策略模式和微服务很像,比如我们写3个接口,吃饭是一个微服务,跑步是一个微服务,穿衣是一个微服务。策略模式的宗旨就是将各项方法之间连接起来,达到一个新的方法,微服务的宗旨也是防止服务的多次调用,降低代码的耦合度,因此这么看来策略模式和微服务还是比较像的
边栏推荐
- 城通网盘仿蓝奏网盘源码 附带视频教程
- 实战回忆录:从Webshell开始突破边界
- 各种级数(调和、几何)总结
- “国防七校”之一西工大遭境外网络攻击
- [domain penetration authorization] cve-2020-1472 Netlogon privilege escalation vulnerability
- Tutorial on building open source Internet of things platform
- 语音处理工具:sox
- Backpack Lecture 9 - detailed understanding and code implementation
- 今天让你知道PMP考试通过率达97%,可信不可信
- 华为设备配置中型网络WLAN基本业务
猜你喜欢

Does the SQL server run with administrator privileges? Or run it as a normal user?

2022第六季完美童模 合肥賽區 决賽圓滿落幕

ThreadLocal thread variable

Differences between x86 and x64

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

对话| 数字时代,隐私计算的发展前景与挑战
![Speech synthesis: overview [generation task of unequal length sequence relation modeling]](/img/13/bd9def50f0efde49b622d139f63a83.png)
Speech synthesis: overview [generation task of unequal length sequence relation modeling]

2022年7月产品经理认证招生简章(NPDP)

New spark in intelligent era: wireless irrigation with Lora wireless transmission technology

Huawei equipment is configured with medium-sized network WLAN basic services
随机推荐
Dialogue | prospects and challenges of privacy computing in the digital age
NP3 格式化输出(一)
324. swing sort II / Sword finger offer II 102 Target value of addition and subtraction
Résumé des différentes séries (harmoniques, géométriques)
Measure the level of various chess playing activities through ELO mechanism
The sixth season of 2022 perfect children's model Qingyuan competition area audition came to a successful conclusion
华为设备配置小型网络WLAN基本业务
CDGA|交通行业做好数字化转型的核心是什么?
802.11--802.11n protocol phy
重磅发布 | 《FISCO BCOS应用落地指南》
分布式数字身份的几个“非技术”思考
Open an account to buy funds. Is it safe to open an account through online funds-
Wallpaper applet source code double ended wechat Tiktok applet
网上开股票账户真的安全吗?求答案
Mutex mutex
【最全】PS各个版本下载安装及小试牛刀教程(PhotoShop CS3 ~~ PhotoShop 2022)
首次触电,原来你是这样的龙蜥社区 | 龙蜥开发者说第8期
2022第六季完美童模 清远赛区 海选赛圆满落幕
ES6数据类型Map&Set
Tutorial on building open source Internet of things platform