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

策略模式

时间:2024-08-29 16:15:49浏览次数:5  
标签:num1 num2 int 模式 Strategy strategy public 策略

策略模式
定义:将算法和算法的调用者独立开来,在运行时可以根据需要选择执行的算法的一种行为型模式。
使用场景:典型的if...else...消除,很多类但是区别仅存在一个行为上时,能够使用策略模式消除条件语句的复杂性以及难以维护的问题。
实现方式
定义策略接口:定义策略方法

public interface Strategy {

    public int doOperation(int num1, int num2);

}

策略实现类:根据不同业务实现不同的策略方法

public class OperationAdd implements Strategy {

    @Override
    public int doOperation(int num1, int num2) {
        return num1 + num2;
    }

}

public class OperationSubtract implements Strategy {

    @Override
    public int doOperation(int num1, int num2) {
        return num1 - num2;
    }

}

public class OperationMultiply implements Strategy {

    @Override
    public int doOperation(int num1, int num2) {
        return num1 * num2;
    }

}

策略上下文:提供统一调用策略方法的入口

public class Context {

    private Strategy strategy;

    public Context(Strategy strategy){
        this.strategy = strategy;
    }

    public int executeStrategy(int num1, int num2){
        return strategy.doOperation(num1, num2);
    }

}

标签:num1,num2,int,模式,Strategy,strategy,public,策略
From: https://www.cnblogs.com/Zun-x/p/18386913

相关文章

  • 突破传统监测模式:业务状态监控HM的新思路
    一、传统监控系统的盲区,如何打造业务状态监控。在系统架构设计中非常重要的一环是要做数据监控和数据最终一致性,关于一致性的补偿,已经由算法部的大佬总结过就不在赘述。这里主要讲如何去补偿?补偿的方案哪些?这就引出来数据监控系统了。有小伙伴会问了,为什么业务状态监控系统可以......
  • C++ 设计模式——桥接模式
    C++设计模式——桥接模式C++设计模式——桥接模式1.主要组成成分2.逐步构建桥接模式步骤1:创建实现接口步骤2:实现具体实现类步骤3:创建抽象类步骤4:实现扩展抽象类步骤5:客户端使用3.桥接模式UML图UML图解析4.桥接模式的优点5.桥接模式的缺点6.桥接模......
  • 镭速助力企业B2B模式下的文档安全外发管理
    在数字化浪潮的推动下,企业间的文件交换已成为B2B交易模式中的关键一环。高效的文件交换不仅关系到企业运作的流畅性,更是企业信息安全的关键。本文将探讨B2B环境下文件交换的普遍需求和其重要性,分析潜在的安全风险,并介绍镭速技术在确保文件安全传输方面的应用策略。镭速技术:......
  • 使用策略模式改造单点登录
    文章目录1、LoginService2、WxLoginService微信登录3、AlipayLoginService支付宝登录4、PhoneLoginService手机号登录5、AccountLoginService账号登录6、LoginType枚举类7、@LoginTypeBean8、LoginClient9、WxLoginApiController1、LoginServicepackagecom.atg......
  • 监控Nginx负载均衡后端服务器状态的策略与实践
    在Nginx负载均衡的部署中,监控后端服务器的状态对于确保高可用性和服务连续性至关重要。通过检测后端服务器的状态,可以及时发现问题并采取措施,如故障转移或服务重启。本文将详细介绍如何检测Nginx负载均衡后端服务器的状态,包括监控方法、工具使用、配置实现以及自动化告警。......
  • 应对Nginx负载均衡中的请求超时:策略与配置
    在Nginx负载均衡的部署中,处理请求超时是一个关键问题。请求超时不仅影响用户体验,还可能隐藏着后端服务的性能瓶颈。合理配置Nginx以处理超时情况,可以显著提高服务的稳定性和可靠性。本文将详细介绍如何在Nginx负载均衡中处理请求超时,包括超时的原因、配置参数、优化策略以及......
  • 【性能优化】:设计模式与技术方案解析(二)
    引言在【性能优化】:探索系统瓶颈的根源(一)文章中,我们已经分析了手动结算的弊端和瓶颈,本文来分析下怎么优化系统性能。需求分析既然手动结算耗时费力易出错,那么能不能开发一个**程序自动化处理**呢?如果要开发一个自动化跑批的程序,核心功能点是什么呢?第一:需要能正常运行;......
  • Nginx负载均衡中的缓存过期配置:策略与实现
    在Nginx负载均衡的高级应用中,合理配置缓存过期策略对于提升网站性能和保证内容的新鲜度至关重要。缓存过期意味着存储在代理缓存中的响应在一定时间后将被视为过时,并在下一次请求时从原始服务器重新获取。本文将详细介绍如何在Nginx中配置缓存过期,包括缓存机制的理解、过期......
  • Java设计模式之原型模式详细讲解和案例示范
    引言在软件设计中,设计模式为我们提供了可复用的解决方案,以应对常见的设计问题。原型模式(PrototypePattern)是创建型设计模式的一种,它允许通过复制现有对象来创建新对象,而不需要了解创建过程的细节。本文将详细探讨原型模式,结合电商交易系统中的具体案例,深入讲解其使用场景......
  • 缓存策略
    我们都知道,提高系统性能的最简单也最流行的方法之一其实就是使用缓存。我们引入缓存,相当于对数据进行了复制。每当系统数据更新时,保持缓存和数据源(如MySQL数据库)同步至关重要,当然,这也取决于系统本身的要求,看系统是否允许一定的数据延迟。在这篇文章里,我想给你们介绍最常见的几......