行业资讯
您现在所在的位置:首页>企业动态>行业资讯

技术文章分享|设计模式之策略模式

编辑:学到牛牛IT培训    发布日期: 2022-11-07 15:15:34  

策略模式,就提供一系列应对不同情况的策略算法封装供使用对象选择实施。比如商场针对不同节日的打折方案,疫情针对不同风险区域的管控措施等这些我们可以看成是不同情况的策略算法,我们都可以提供一个统一的策略类接口以应对不同情况策略的选择。


这样做的优点在于不同策略算法切换方便,同时避免了同时使用多重条件判断而且易于扩展;缺点就是对于使用者需清楚策略算法以便其选择,另外就是当策略算法增加时策略类会较多从而使代码更加臃肿。

策略模式的UML简图:

1.png


下面我们就通过一个简单的事例代码来具体了解我们的策略模式:

1. 抽象策略类(对应UML图中的AbstractStrategy类)及其子类(具体策略类)的定义;

2.png

3.png

2. 策略选择类(对应UML图中的Context类):

4.png

3. 主函数测试代码:

5.png

6.png

4. 编译运行结果:

7.png

其实对于策略模式这里主要就策略抽象类和选择策略的对象类这两个类,其余具体的策略算法都是基于策略抽象类的扩展类,如代码里的低中高3个风险策略类。

注:这里为了方便大家对该设计模式结构的理解,故并没将类的定义与其接口定义分开(采用头文件与源文件的形式),大家在工程中实际使用时应当分开。 


免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都市金牛区西城国际A座8楼

  • 新闻频道_关注IT技术应用资讯-学到牛牛
    新闻频道_关注IT技术应用资讯-学到牛牛

    扫一扫,免费咨询

  • 新闻频道_关注IT技术应用资讯-学到牛牛
    新闻频道_关注IT技术应用资讯-学到牛牛

    微信公众号

  • 新闻频道_关注IT技术应用资讯-学到牛牛
新闻频道_关注IT技术应用资讯-学到牛牛

学一流技术,找高薪工作

新闻频道_关注IT技术应用资讯-学到牛牛

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问