策略模式

策略模式

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

案例

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

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

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

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

测试:

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

        team.startStategy();
    }
}
相关推荐
摘星编程17 分钟前
深入解析迭代器模式:优雅地遍历聚合对象元素
设计模式·迭代器模式·软件开发·编程技巧·面向对象设计
程序员张32 小时前
Maven编译和打包插件
java·spring boot·maven
ybq195133454313 小时前
Redis-主从复制-分布式系统
java·数据库·redis
weixin_472339464 小时前
高效处理大体积Excel文件的Java技术方案解析
java·开发语言·excel
小毛驴8504 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
DKPT5 小时前
Java桥接模式实现方式与测试方法
java·笔记·学习·设计模式·桥接模式
好奇的菜鸟6 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
DuelCode7 小时前
Windows VMWare Centos Docker部署Springboot 应用实现文件上传返回文件http链接
java·spring boot·mysql·nginx·docker·centos·mybatis
优创学社27 小时前
基于springboot的社区生鲜团购系统
java·spring boot·后端
幽络源小助理7 小时前
SpringBoot基于Mysql的商业辅助决策系统设计与实现
java·vue.js·spring boot·后端·mysql·spring