设计模式-策略模式
Posted ssyuhh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式-策略模式相关的知识,希望对你有一定的参考价值。
(大话设计模式学习总结)
策略模式:它定义了一个算法族,每个算法分别封装,算法之间可以替换,算法之间的替换不影响用户的使用。
算法的 实例化通过算法族的上下文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(); } } |
以上是关于设计模式-策略模式的主要内容,如果未能解决你的问题,请参考以下文章