行为型模式 --- 策略模式

2020-08-25  本文已影响0人  十二找十三
package study.org;

public class Demo {
    public static void main(String[] args) {
        Context context = new Context();
        
        Strategy strategy = new ConcreteStrategyA();
//      Strategy strategy = new ConcreteStrategyB();// 客户端根据自己的需要选择不同的策略

        context.setStrategy(strategy);
        context.strategyMethod();
    }
}

interface Strategy {
    public void operation();
}

class ConcreteStrategyA implements Strategy {
    @Override
    public void operation() {
        System.out.println("ConcreteStrategyA operation method");
    }
}

class ConcreteStrategyB implements Strategy {
    @Override
    public void operation() {
        System.out.println("ConcreteStrategyB operation method");
    }
}

class Context {
    private Strategy strategy;
    
    public Strategy getStrategy() {
        return strategy;
    }

    public void setStrategy(Strategy strategy) {
        this.strategy = strategy;
    }

    public void strategyMethod() {
        strategy.operation();
    }

}
上一篇 下一篇

猜你喜欢

热点阅读