【设计模式】08-策略模式

目录

 

什么是策略模式

策略模式组成


什么是策略模式

策略模式其实是对象多态的应用。由实现同一接口的一组算法组成,通过上层决策放决定调用何种算法,即策略来完成相应的计算处理。

 

策略模式组成

策略算法抽象接口

public interface Strategy {

    void doSomething();
}

 

 

具体策略算法实现

public class ConcreteStrategy1 implements Strategy{
    @Override
    public void doSomething() {
        System.out.println("具体策略算法1");
    }
}

 

public class ConcreteStrategy2 implements Strategy{
    @Override
    public void doSomething() {
        System.out.println("具体策略算法2");
    }
}

调用算法角色

public class Context {
    private Strategy strategy = null;

    public Context(Strategy _strategy) {
        this.strategy = _strategy;
    }

    public void doSomething(){
        this.strategy.doSomething();
    }
}

 

 

测试驱动

public class Main {
    public static void main(String[] args) {
        Strategy strategy = new ConcreteStrategy1();
        Context context = new Context(strategy);
        context.doSomething();

        strategy = new ConcreteStrategy2();
        context = new Context(strategy);
        context.doSomething();
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值