码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-策略模式

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

标签:oid   ali   图片   包含   image   bubuko   abs   abstract   table   

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

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

算法的 实例化通过算法族的上下文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();

   }

}

 

设计模式-策略模式

标签:oid   ali   图片   包含   image   bubuko   abs   abstract   table   

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

(1)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!