首页 > 其他 > 详细

设计模式-策略模式

时间:2018-07-13 12:03:07      阅读:187      评论:0      收藏:0      [点我收藏+]

(大话设计模式学习总结)

策略模式:它定义了一个算法族,每个算法分别封装,算法之间可以替换,算法之间的替换不影响用户的使用。

算法的 实例化通过算法族的上下文Context进行管理,Context包含对算法的引用,在Context中可以使用简单工厂模式来管理对象的实例化,实现具体算法与用户的解耦。

技术分享图片

public abstract class Strategy {

   public abstract void algorithmInterface();

}

 

public class ConcreteStrategyA extends Strategy {

   @Override

   public void algorithmInterface() {

      System.out.println("ConcreteStrategyA");

   }

 

}

 

 

public class ConcreteStrategyB extends Strategy{

   @Override

   public void algorithmInterface() {

      System.out.println("ConcreteStrategyB");

   }

}

 

 

public class Context {

   private Strategy strategy;

   public Context(Strategy strategy){

      this.strategy = strategy;

   }

  

   public void contextInterface(){

      strategy.algorithmInterface();

   }

}

 

public class TestDemo01 {

   @Test

   public void test01(){

      Context context = new Context(new ConcreteStrategyA());

      context.contextInterface();

     

      context = new Context(new ConcreteStrategyB());

      context.contextInterface();

   }

}

 

设计模式-策略模式

原文:https://www.cnblogs.com/ssyuhh/p/9304140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!