命令模式

canca canca
2007-03-26 15:07
1
0

//命令模式
//CopyRight(C) CAnca software Office.2006
//Created by CAnca.

public class CommandMode{
 public static void main(String[] args){
  Receiver receiver = new Receiver();
  Command command = new ConcreteCommand(receiver);
  Invoker invoker = new Invoker();
  invoker.setCommand(command);
  invoker.ExecuteCommand();
 } 
}

//Command
abstract class Command{
 protected Receiver receiver;
 public Command(Receiver receiver){
  this.receiver = receiver;
 }
 abstract void Execute();
}

//ConcreteCommand
class ConcreteCommand extends Command{
 public ConcreteCommand(Receiver receiver){
  super(receiver);
 }
 
 public void Execute(){
  receiver.Action();
 }
}

//Receiver
class Receiver{
 public void Action(){
  System.out.println("Receiver.Action()");
 }
}

//Invoker
class Invoker{
 private Command command;
 public void setCommand(Command command){
  this.command = command;
 }
 
 public void ExecuteCommand(){
  command.Execute();
 }
}

发表评论