代码编织梦想

1.策略模式简介

策略模式:策略模式是一种行为型模式,它将对象和行为分开,将行为定义为 一个行为接口 和 具体行为的实现。策略模式最大的特点是行为的变化,行为之间可以相互替换。每个if判断都可以理解为就是一个策略。本模式使得算法可独立于使用它的用户而变化

c001e1fac463e58f6e05f4c58f19b40b.png
  • 策略模型结构有哪些?

  • Context:环境类

提供一个方法来调用抽象策略类的某个具体策略方法

  • Strategy: 抽象策略类

提供一个公共的策略抽象类方法,让具体策略类来实现

  • ConcreteStrategy: 具体策略类

实现了抽象策略定义的接口,定义具体的业务逻辑

6c02b243d61ca0595c94b7095ef5e0c4.png
  • MsgHandlerContext:环境类

  1. 获取所有处理器建立Map映射,其 key 为具体的 Topic 名称,value 为MsgHandler接口下的具体策略类

  1. 同时接口向外提供了getMsgHandler方法,根据消息类型获取处理器能力

  • MsgHandler接口:策略类

定义一个策略抽象方法process(),让具体策略类来实现

  • TaskCompletedMsgHandler或者SupplyMsgHandler:具体策略类

他们是具体的策略方法,通过重写MsgHandler接口的process(),实现业务逻辑

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_66121475/article/details/129678697

jvm监控搭建-爱代码爱编程

文章目录 JVM监控搭建整体架构JolokiaTelegrafInfluxdbGrafana JVM监控搭建 整体架构 JVM 的各种内存信息,会通过 JMX 接口进行暴露。 Jolokia

java使用策略模式(进阶篇)-爱代码爱编程

介绍 策略模式是一个非常简单且常用的设计模式,策略模式最常见的作用就是解决代码中冗长的 if-else 或 switch 分支判断语句。 本文后半部分应该会让熟悉策略模式的同学也会有一些收获。本文重点在于笔者阅读 F

java设计模式-爱代码爱编程

前言 当代码中出现多重if-else语句或者switch语句时, 弊端有二:弊端之一:如果这样的代码出现在多处,那么一旦出现需求变更,就需要把所有地方的if-else或者switch代码进行更改,要是遗漏了某一处,那么程序就会出错。弊端之二:代码逻辑难以理解。 卫语句 卫语句的使用,并不能改变前言说的弊端:一旦需求更改,需要修改所有使用更改需求的i