当前位置:   article > 正文

大话设计模式Java——策略模式_大话设计模式java版策略模式

大话设计模式java版策略模式

创建上层策略接口

Strategy.java

  1. package designMode.策略模式;
  2. public abstract class Strategy {
  3. public abstract void AlgorithmInterface();//策略接口
  4. }

具体的策略

ConcreteStrategyA.java

  1. package designMode.策略模式;
  2. public class ConcreteStrategyA extends Strategy{
  3. @Override
  4. public void AlgorithmInterface() {
  5. System.out.println("策略A在执行");
  6. //继承上层策略接口,此处可以实现策略算法
  7. }
  8. }

ConcreteStrategyB.java

  1. package designMode.策略模式;
  2. public class ConcreteStrategyB extends Strategy{
  3. @Override
  4. public void AlgorithmInterface() {
  5. System.out.println("策略B在执行");
  6. }
  7. }

使用一个上下文类去实例化具体的策略

在创建Context的时候,选择使用哪种具体的策略。

策略模式的好处,可以使客户端和具体的策略之间解耦。很容易增加修改策略。但是对客户没有影响。

Context.java

  1. package designMode.策略模式;
  2. public class Context {
  3. public static void main(String[] args) {
  4. Context context = null;
  5. context = new Context(new ConcreteStrategyB());
  6. context.ContextInterface();
  7. }
  8. Strategy strategy;
  9. public Context(Strategy strategy){
  10. this.strategy = strategy;
  11. }
  12. public void ContextInterface(){
  13. strategy.AlgorithmInterface();
  14. }
  15. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/92819
推荐阅读
相关标签
  

闽ICP备14008679号