标签: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