策略模式

canca17年前 (2007-03-26)设计模式338
//策略模式
//CopyRight(C) CAnca software Office.2006
//Created by CAnca.
public class StrategyMode{
 public static void main(String[] args){
  
  // Three contexts following different strategies
  Context context = new Context(new ConcreteStrategyA());
  context.ContextInterface();
  
  context = new Context(new ConcreteStrategyB());
  context.ContextInterface();
  
  context = new Context(new ConcreteStrategyC());
  context.ContextInterface();
 }
}
//Strategy
abstract class Strategy{
 abstract void AlgorithmInterface();
}
class ConcreteStrategyA extends Strategy{
 public void AlgorithmInterface(){
  System.out.println("ConcreteStrategyA.AlgorithmInterface()");
 }
}
class ConcreteStrategyB extends Strategy{
 public void AlgorithmInterface(){
  System.out.println("ConcreteStrategyB.AlgorithmInterface()");
 }
}
class ConcreteStrategyC extends Strategy{
 public void AlgorithmInterface(){
  System.out.println("ConcreteStrategyC.AlgorithmInterface()");
 }
}
//Context
class Context{
 private Strategy strategy;
 public Context(Strategy strategy){
  this.strategy = strategy;
 }
 
 public void ContextInterface(){
  this.strategy.AlgorithmInterface();
 }
}


相关文章

抽象工厂模式

//抽象工厂模式//Copyright CAnca Software office//Created by CAnca.2006public class AbstractFactory{ p...

工厂方法模式

//工厂方法模式:现实例子//CopyRight(C)CAnca Software Office. 2006//Created by CAnca. import java.util.*; public...

建造者模式

//建造者模式//CopyRight(C)CAnca Software Office.//Created by CAnca. import java.util.*; public class Buil...

原型模式

//原型模式//CopyRight(C) CAnca Software Office.2006//Created by CAnca. public class PrototypeMode{ ...

桥接模式

//桥接模式//CopyRight(C) CAnca Software Office 2006.//Created by CAnca. import java.util.*; public class...

适配器模式

//适配器模式//CopyRight(C)CAnca Software Office.//Created by CAnca. public class AdapterMode{ public...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。