首页 > 其他分享 >七、策略模式

七、策略模式

时间:2024-03-15 11:11:06浏览次数:18  
标签:策略 配置文件 代码 模式 测试 使用者

  在深入理解Spring声明式事务时其框架涉及到该种模式的应用。策略模式的目的就是解决繁琐的ifelse判断,如下:

        

            

             

             

             

             

             

  测试:  

            

  测试结果:

            

  在测试案例中,使用Context类将不同运算全部创建了一遍,实际还是有使用者控制具体操作——就是使用者进行了ifelse的选择,如果有更多操作代码就得更改代码,并没有体现通过代码控制自动选择的的过程。类似这段代码在实际的业务场景中并不实用,实际业务场景中往往要根据不同的需求对策略进行动态选择。

  所以对上述代码进行重构,增加动态选择的功能。结合单例模式和简单工厂模式,具体重构如下:

    增加StrategyFacotry:

             

    测试:

             

    测试结果:

             

  实际生产中可能策略就是通过解析配置文件进行处理了,维护工作者只需修改配置文件即可——整个过程中不需要修改任何代码不影响业务逻辑,同时对于系统使用者而言没有任何改变。

 

 

 

        

 

标签:策略,配置文件,代码,模式,测试,使用者
From: https://www.cnblogs.com/ilovebath/p/18075010

相关文章

  • redis主从+哨兵模式
    什么是哨兵模式Redis哨兵模式是一种用于确保Redis高可用性的解决方案。通过运行独立的哨兵进程,它能监控主服务器和从服务器的状态,并在主服务器故障时自动执行故障转移操作,将一个从服务器晋升为新的主服务器,从而保障系统的持续可用性。哨兵模式工作原理;监控主从服务器:在Re......
  • 单例模式与原型模式的深度探索之旅
    ​......
  • Java中实现单例(Singleton)模式的八种方式
    单例模式定义单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例。基本的实现思路单例模式要求类能够有返回对象一个引用(永远是同一个)和一个获得该实......
  • python+playwright 以非無痕模式打开chrome浏览器
    在使用python+playwright想从网页下载Excel数据,因为需要经过SSO,携带Tokey才可以访问数据,所以无痕模式下搞不好,使用非无痕模式打开浏览器,就可以获取cookie,成功达到效果。点击查看代码frommultiprocessing.sharedctypesimportValuefromplaywright.sync_apiimportsync_pla......
  • 19_备忘录模式
    备忘录模式是一种行为型设计模式,它可以捕获一个对象的内部状态,并在需要时将对象恢复到之前的状态。备忘录模式通过将对象的状态封装在备忘录对象中,使得可以在不暴露对象内部实现细节的情况下进行状态的保存和还原。备忘录模式有三个主要角色:发起人(Originator):负责创建备忘录对......
  • 回归预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据
    回归预测|Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据回归预测目录回归预测|Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据回归预测效果一览基本介绍程序设计参考资料效果一览基本介绍GSWOA-KELM多变......
  • 【考研学子必看 ★2024考研国家线及调剂策略(1)】
    -----------------------------------------------------------------------------------------------------考研复试科研背景提升班教你快速深入了解掌握考研复试面试中的常见问题以及注意事项,系统的教你如何在短期内快速提升自己的专业知识水平和编程以及英语文献阅读英......
  • 4.static应用-单例设计模式
    什么是设计模式,设计模式主要学什么,单例模式解决了什么问题?设计模式就是具体问题的最有解决方案解决了什么问题?怎么写?确保一个类只有一个对象单例怎么写,饿汉式单例的特点是什么?把类的构造器私有;定义一个类变量存储类的一个对象;提供一个类方法返回对象在获取类的对象时,对......
  • YOLOv9改进策略:注意力机制 |通道注意力和空间注意力CBAM | GAM超越CBAM,不计成本提高精
    ......
  • 多线程(代码案例: 单例模式, 阻塞队列, 生产者消费者模型,定时器)
    设计模式是什么类似于棋谱一样的东西计算机圈子里的大佬为了能让小菜鸡的代码不要写的太差针对一些典型的场景,给出了一些典型的解决方案这样小菜鸡们可以根据这些方案(ACM里面叫板子,象棋五子棋里叫棋谱,咱这里叫设计模式),略加修改,这样代码再差也差不到哪里去......