策略模式

策略模式

策略(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();
    }
}
相关推荐
G丶AEOM4 分钟前
Redis与MySQL如何保证数据一致性
java·redis
北漂编程小王子34 分钟前
maven <scope>compile</scope>作用
java·maven·compile标签作用
小手cool41 分钟前
IDEA某个Impl下的引入的文件红色
java·intellij-idea
春风十里不如你952744 分钟前
【设计模式】【结构型模式(Structural Patterns)】之代理模式(Proxy Pattern)
设计模式·代理模式
yours_Gabriel1 小时前
【微服务】认识微服务
java·微服务·架构
ThetaarSofVenice1 小时前
【Java从入门到放弃 之 Java程序基础】
java·开发语言·python
夏子曦2 小时前
java——Tomcat调优策略
java·开发语言·tomcat
夏子曦2 小时前
java——利用 Tomcat 自定义的类加载器实现热加载
java·tomcat
G丶AEOM2 小时前
Redis中HGETALL和ZRANGE命令
java·redis
In 20292 小时前
矩阵【Lecode_HOT100】
java·算法·矩阵