当前位置: 首页 > article >正文

策略模式

策略模式

策略(Strategy)模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。属于对象行为模式。

案例

一个团队可以使用不同的游戏策略:

public interface Stategy {
    void gameStategy();
}

public class Stategy01 implements Stategy{
    @Override
    public void gameStategy() {
        System.out.println("正在使用策略1");
    }
}
public class Stategy02 implements Stategy {
    @Override
    public void gameStategy() {
        System.out.println("正在使用策略2");
    }
}
public class Team {
    private Stategy stategy;

    public void setStategy(Stategy stategy){
        this.stategy = stategy;
    }

    public void startStategy(){
        System.out.println("游戏开始");
        stategy.gameStategy();
    }
}

测试:

public class Main {
    public static void main(String[] args) {
        Team team = new Team();
        team.setStategy(new Stategy01());

        team.startStategy();
    }
}

http://www.kler.cn/news/321398.html

相关文章:

  • [笔记]某S厂减速箱部件参数表 - 技术问题海外联系方式
  • JavaScript typeof运算符
  • 实变函数精解【25】
  • Excel锁定单元格,使其不可再编辑
  • QT开发:详解 Qt 多线程编程核心类 QThread:基本概念与使用方法
  • 大语言模型量化方法GPTQ、GGUF、AWQ详细原理
  • 【算法】二叉树中的 DFS
  • 技术点:go使用gomail包进行邮件发送
  • Actions Speak Louder than Words Meta史诗级的端到端推荐大模型落地
  • element ui 精确控制日期控件 date-picker
  • 怎么备考2024年11月软考高级系统架构师 ?
  • 基于SSM+小程序的医院管理系统(医院1)(源码+sql脚本+视频导入教程+文档)
  • grpcurl使用
  • gitlab集成CI/CD,shell方式部署
  • EMC术语简要介绍
  • SSM的学习(3)
  • 【论文_1992】 REINFORCE » P2 附录
  • 《程序猿之设计模式实战 · 模板方法》
  • JavaWeb美食推荐管理系统
  • 【Linux扩容根分区】LVM分区扩容过程踩坑记录
  • 计算机视觉硬件整理(四):相机与镜头参数介绍
  • EasyAR自定义相机RTSP视频流(CustomCamera)
  • uniapp自定义底部tabBar
  • Spring Boot入门到精通:网上购物商城系统
  • 实用的Git工作流程
  • docker pull镜像失败问题解决尝试
  • 【2】图像视频的加载和显示
  • 通信工程学习:什么是VIM虚拟化基础设施管理器
  • 操作配置笔记
  • 网络与信息安全工程师(工信部教育与考试中心)