设计模式22-策略模式,Strategy)

技术设计模式22-策略模式,Strategy) 设计模式22-策略模式(Strategy)策略模式的重点在于其实现可以去感知随意替换,根据不同的场景调用不同的实现。设计模式22-策略模式(Strateg

设计模式22-策略模式。

策略的重点是其实现可以随意替换,可以根据不同的场景调用不同的实现。

设计模式22-策略模式(Strategy)

概述

策略的重点是其实现可以随意替换,可以根据不同的场景调用不同的实现。

优点

算法可以自由切换。

避免多重条件判断。

扩展性好。

缺点

阶级扩张。

所有策略类都需要公开。

简单实现

JDK实现

策略需要设计一个接口,为一系列提供外部调用的策略模式实现类提供统一的方法。

界面策略{

/**

*打印邮件

*

* @param消息消息

*/

无效打印(字符串消息);

}

通过不同的实现提供不同的业务逻辑。

公共类正常策略实现策略{

@覆盖

公共无效打印(字符串消息){ 0

System.out.println(消息);

}

}

公共类错误策略实现策略{

@覆盖

公共无效打印(字符串消息){ 0

System.err.println(消息);

}

}

在不同的场景中,通过调用不同的实现类来完成不同的业务逻辑。

公共类设计模式

@测试

public void strategyDesignPattern(){ 0

字符串消息=“这是一条消息”;

strategy print strategy=new normal strategy();

printStrategy.print(消息);

print strategy=new error strategy();

printStrategy.print(消息);

}

}

源码解析

和状态模式的比较

模式封装了业务逻辑,业务逻辑被解耦。模式将业务逻辑封装成状态,状态之间存在切换关系,这可以在上下文或状态本身中实现。

该模式根据不同的业务场景切换不同的业务逻辑;模式通过在同一个场景中设置不同的状态来调用不同的业务逻辑。

策略业务逻辑的增加和删除不影响其他已有的业务逻辑;模式状态的添加和删除需要在其他状态实现中修改切换状态逻辑。

策略模式可以由客户端直接调用,状态模式必须由客户端通过有状态模型调用。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/53729.html

(0)

相关推荐

  • 怎么实现jenkins邮件配置

    技术怎么实现jenkins邮件配置本篇文章为大家展示了怎么实现jenkins邮件配置,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Jenkins搭建完成后,接下来就要做一些配置工

    攻略 2021年11月17日
  • 全球充电宝排行榜10强,哪个品牌的充电宝更实用更安全

    技术全球充电宝排行榜10强,哪个品牌的充电宝更实用更安全应"悟空小秘书"邀答全球充电宝排行榜10强!哪个品牌的充电宝更实更安全?答:那还要问吗?华为充电宝最好、最安全!理由何在?1⃣️华为充电宝充电时的温度控制在70度的

    生活 2021年11月1日
  • java基础知识回顾之javaIO类–管道流PipedOutputStream和PipedIutputStream

    技术java基础知识回顾之javaIO类–管道流PipedOutputStream和PipedIutputStream java基础知识回顾之javaIO类–管道流PipedOutputStream

    礼包 2021年12月22日
  • Python用哪些工具好

    技术Python用哪些工具好这篇文章主要介绍了Python用哪些工具好,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、最强终端:Upterm本来想推荐

    攻略 2021年10月28日
  • 绩点换算,5分制绩点怎么换算成百分制

    技术绩点换算,5分制绩点怎么换算成百分制您好绩点换算,澳大利亚留学研究生申请条件:国内211大学,大学平均成绩75分以上;非211大学,平均成绩80分以上;目前八大里的西澳大学,阿德莱德大学都是算加权平均分,不算马哲或者

    生活 2021年10月23日
  • Oracle数据库中索引的常见执行计划是什么

    技术Oracle数据库中索引的常见执行计划是什么这篇文章将为大家详细讲解有关Oracle数据库中索引的常见执行计划是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。今天

    攻略 2021年12月2日