设计模式_Strategy_策略模式
2024-09-01 06:35:57
形象例子:
跟不同类型的MM约会,要用不同的策略,有的请电影比较好,有的则去吃小吃效果不错,有的去海边浪漫最合适,单目的都是为了得到MM的芳心,我的追MM锦囊中有好多Strategy哦。
策略模式:
策略模式针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情
况下发生变化。策略模式把行为和环境分开。环境类负责维持和查询行为类,各种算法在具体的策略类中提供。由于算法和环境独立开来,算法的增减,修改都不会影响到环境和客户端。
作用:
定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化.
UML结构图:
解析:
简而言之一句话,Strategy模式是对算法的封装.处理一个问题的时候可能有多种算法,这些算法的接口(输入参数,输出参数等)都是一致的,那么可以考虑采用Strategy模式对这些算法进行封装,在基类中定义一个函数接口就可以了.
最新文章
- OC编程之道-接口适配之适配器
- 大前端学习笔记整理【一】CSS盒模型与基于盒模型的6种元素居中方案
- 《BI那点儿事》数据流转换——审核
- 5.cadence原理图上[原创]
- HDU2110+母函数
- 使用Calendar获取近三年的财务信息
- HR系统邮件审批功能总结
- 关于Java的对象、数组、String类的具体用法
- The sum of numbers form 0 to n.(20.9.2017)
- Git和Eclipse的使用、上传、部署
- vs2012密钥
- pip无法正常使用卸载并重新安装
- Python 爬虫一 简介
- STM32 Controller area network (bxCAN) Identifier filtering
- Hopper Disassembler v4 ( The macOS Disassembler, Decompiler and Debugger)
- 魔法上网之Ubuntu部署“酸酸”
- MSTest DeploymentItemAttribute
- Python-S9——Day100-Web前端框架之Vue
- HDFS源码分析数据块复制监控线程ReplicationMonitor(一)
- Qt学习--初学注意事项