策略模式

策略模式

策略(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();
    }
}
相关推荐
on the way 123几秒前
key,value,isDef关键字的隐藏bug
java
karshey2 分钟前
【前端】Defer:存储Promise状态,多个异步事件都结束后处理一些逻辑
java·前端·javascript
Xinstall渠道统计平台3 分钟前
如何利用APP渠道统计提升营销效果
java·git·github
帅得不敢出门7 分钟前
Android Framework不弹窗设置默认sim卡
android·java·framework
是一个Bug9 分钟前
Java基础 -> JVM -> 并发 -> 框架 -> 分布式
java·jvm·分布式
a努力。10 分钟前
小红书Java面试被问:如何设计一个分布式ID生成器
java·后端·面试
czlczl2002092511 分钟前
Spring Security 进阶:基于 Customizer 的分布式权限配置架构设计
java·spring boot·分布式·后端·spring
lkbhua莱克瓦2412 分钟前
面向编程3-UDP通信程序
java·网络·网络协议·udp
shepherd12613 分钟前
从入门到实践:玩转分布式链路追踪利器SkyWalking
java·分布式·后端·skywalking
Seven9714 分钟前
剑指offer-54、字符流中第一个不重复的字符
java