常见设计模式(JAVA)

星期一, 8月 4, 2025 | 1分钟阅读 | 更新于 星期一, 8月 4, 2025

xiestr

持续更新

策略模式

个人理解:定义一组可完成相同功能的不同算法(策略),通过接口和依赖注入的方式进行解耦。这样策略能够动态的切换,相对来说是比较简单常见的设计模式。

核心思想:定义一系列算法(策略),将每个算法封装起来,并使它们可以互相替换。策略模式让算法的变化独立于使用算法的客户端。

结构

一个接口 interface xx

多个可实现接口的类 class implements xx

需要该行为的类(业务类)将接口作为成员。

public interface Strategy {
    void doStrategy();
}

public class StrategyA implements Strategy {
    @Override
    public void doStrategy() {
        //xxxx
    }
}

public class StrategyB implements Strategy {
    @Override
    public void doStrategy() {
        //xxxx
    }
}

public class StrategyC implements Strategy {
    @Override
    public void doStrategy() {
        //xxxx
    }
}

public class EntityX {
    private Strategy strategy;
    
	EntityX (Strategy strategy) {
        this.strategy = strategy;
    }
    public void doSomething() {
        strategy.doStrategy();
    }
}

通过这种方式,不必关注Strategy的具体实现类是哪一个,直接调用接口的方法,在运行时程序会帮我们执行对应实现类的方法。

Me

你好,这里是XieStr.

有问题欢迎联系

这是我的邮箱:kilzo_zh@outlook.com