策略模式有哪些优点

策略模式有以下优点:1、提供了可以替换继承关系的办法;2、提供了管理相关的算法族的办法;3、可以避免使用多重条件转移语句。策略模式提供了可以替换继承关系的办法,继承可以处理多种算法或行为。

策略模式有哪些优点-Worktile社区

1、提供了可以替换继承关系的办法

策略模式提供了可以替换继承关系的办法。继承可以处理多种算法或行为。如果不是用策略模式,那么使用算法或行为的环境类就可能会有一些子类,每一个子类提供一个不同的算法或行为。但是,这样一来算法或行为的使用者就和算法或行为本身混在一起。决定使用哪一种算法或采取哪一种行为的逻辑就和算法或行为的逻辑混合在一起,从而不可能再独立演化。继承使得动态改变算法或行为变得不可能。

2、提供了管理相关的算法族的办法

策略模式提供了管理相关的算法族的办法。策略类的等级结构定义了一个算法或行为族。恰当使用继承可以把公共的代码移到父类里面,从而避免重复的代码。

3、可以避免使用多重条件转移语句

使用策略模式可以避免使用多重条件转移语句。多重转移语句不易维护,它把采取哪一种算法或采取哪一种行为的逻辑与算法或行为的逻辑混合在一起,统统列在一个多重转移语句里面,比使用继承的办法还要原始和落后。

延伸阅读:

什么是策略模式

策略模式是指有一定行动内容的相对稳定的策略名称。策略模式在古代中又称“计策”,简称“计”,如《汉书·高帝纪上》:“汉王从其计”。这里的“计”指的就是计谋、策略。策略模式具有相对稳定的形式,如“避实就虚”、“出奇制胜”等。一定的策略模式,既可应用于战略决策,也可应用于战术决策;既可实施于大系统的全局性行动,也可实施于大系统的局部性行动。

策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。

文章标题:策略模式有哪些优点,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35638

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年1月15日 下午9:36
下一篇 2023年1月15日 下午9:38

相关推荐

  • 如何选择云原生平台:AWS、Azure、GCP

    探究云原生平台选择核心要素:依据企业需求、市场占有率、生态完整度、技术支持与成本效益,云原生技术革新,目前世界三大巨头AWS、Azure、GCP各有所长,提供广泛服务差异。AWS市场领袖、Azure企业优选、GCP数据与分析强项。选择时应确保所选平台支持组织长远发展,考虑各自优劣和特色。专门针对技术…

    2023年12月28日
    12500
  • 德立oa系统

    标题:德立OA系统的综合分析 摘要:德立OA系统是一个面向现代企业的办公自动化解决方案,视为提高公司效率的重要工具。功能齐全、使用便捷、安全稳定是它的三大核心优势。在这些利益中,功能齐全表现在工作流程的自动化、项目管理、文档管理、通讯录服务和移动办公等多个方面。该系统能够让公司管理层和员工更高效地处…

    2024年1月12日
    10100
  • 科研类项目管理系统

    科研类项目管理系统主要服务于科研人员和团队,有效地监控项目进度、资源分配和预算使用。1、提高科研效率和管理水平;2、促进团队协作与信息共享;3、实现科研资金的规范和透明化管理;4、支持项目进度的实时跟踪与评估。其中,提高科研效率和管理水平尤为关键,因为它直接关联到科研项目的成功率与项目成果的质量。科…

    2024年1月9日
    9700
  • 数据分析在市场研究中的作用

    在市场研究中,数据分析起着至关重要的作用,它帮助企业洞察市场趋势、了解消费者行为、优化营销策略并驱动业务决策。本文将集中讨论数据分析在市场研究中的五个核心观点:1、提供决策支持、2、揭示消费者洞见、3、竞争分析、4、风险管理、5、产品开发。我们将深入探讨这些观点,展示数据分析如何通过这些方面增加企业…

    2023年12月14日
    17400
  • 代码管理工具有哪些

    代码管理工具有:1、CVS;2、SVN;3、Git;4、VisualSourceSafe;5、ClearCase;6、Mercurial;7、Perforce;8、GitLab。CVS(Concurrent Versions System)是代码管理工具诞生以来最早出现的一名成员。 1、CVS CV…

    2023年3月31日
    2.3K00
  • 房地产开发与管理冷门吗

    开启本文篇章,率先提供一个直接而明确的回答:房地产开发与管理并非冷门领域,且在某些地区它构成了市场经济的重要部分。领域针对住宅、商业以及工业用地的规划、开发和运营管理等各个方面涉猎广泛,涵盖了建筑设计、市场分析、财务规划等多个子专业。此领域备受关注的一个方面是投资回报率通常颇具吸引力,尽管经济循环和…

    2024年1月9日
    11500
  • 协同办公工具如何与其他业务系统集成

    协同办公工具在现代企业中充当着提高工作效率和促进团队合作的重要角色。与其他业务系统的集成旨在创建一个无缝的工作环境,减少数据孤岛,加速信息流动。集成方式包括但不限于1、API集成;2、定制开发;3、中间件应用;4、第三方集成平台。这些集成方法有利于实现数据同步,自动化工作流程,并提供精准的数据分析和…

    2023年11月20日
    16100
  • 公司oa网址

    公司办公自动化系统(OA)通常是企业内部专用的网址,提供统一的办公门户,使员工能够高效地访问各种工作资源和应用。1)您需联系所在公司的IT部门以获取正确的OA网址;2)一般通过企业发放的手册或入职指导材料能获取;3)确保使用企业指定的安全协议访问。 重点在于,每家公司的OA网址独特且通常受到严格的访…

    2024年1月12日
    8600
  • 区块链到底是什么

    区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自产生的时间顺序连接成链条。这个链条被保存在所有的服务器中,只要整个系统中有一台服务器可以工作,整条区块链就是安全的。 一、区块链到底是什么 区块链,就是一个又一个区块组成的链条。每一个区块中保存了一定的信息,它们按照各自…

    2023年7月28日
    30800
  • c语言中free怎么知道要删除多大的空间

    在C语言中,动态内存管理是一项非常重要的技能。在程序运行的过程中,我们需要不断地申请内存空间进行各种操作,但是这些空间有时候也需要被释放掉。free()函数就是用来释放之前申请过的内存空间,以便让系统回收这些空间以供其他程序使用。 然而,要想正确地使用free()函数并避免出现内存泄漏等问题,我们需…

    2023年3月2日
    69000

发表回复

登录后才能评论
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部