设计模式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)

相关推荐

  • 上传附件,请问视频文件能上传附件吗

    技术上传附件,请问视频文件能上传附件吗可以进行压缩后再上传。方法如下上传附件:1、首先将自己需要压缩的视频文件准备好,放置到同一个文件夹中,方便添加文件。
    2、将视频压缩软件安装到自己的电脑中,打开软件找到视频压缩,点击

    生活 2021年10月25日
  • python预计运行时间怎么做(python对时间和日期的处理)

    技术python如何对日期时间进行处理这篇文章给大家分享的是有关python如何对日期时间进行处理的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。开发中常用的日期操作有哪些?获取当前时间获取系统

    攻略 2021年12月19日
  • 考研复试什么时候,研究生面试时间多长

    技术考研复试什么时候,研究生面试时间多长我是研路有我,我来回答你的问题考研复试什么时候。研究生面试一般在15分钟左右!我作为一名曾经的考研生,也是经历了面试。我当时面试的时候,大概看了一下时间,每位同学的面试时间平均在1

    生活 2021年10月25日
  • java semaphore 是什么(javasemaphore信号怎么样)

    技术如何解析Java中的Semaphore信号量本篇文章为大家展示了如何解析Java中的Semaphore信号量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Semaphore

    攻略 2021年12月20日
  • 基于alpine构建jdk镜像遇到的坑

    技术基于alpine构建jdk镜像遇到的坑 基于alpine构建jdk镜像遇到的坑alpine常用于作为docker的基础镜像,因为它很小,功能精简,基本上没有啥漏洞,记录一下最近用alpine作为基础

    礼包 2021年11月11日
  • python中wxpy的安装与使用是怎样的

    技术python中wxpy的安装与使用是怎样的python中wxpy的安装与使用是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.wxpy基本介绍w

    攻略 2021年12月4日