Command模式

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

class Command

{

// Fields

private var receiver: Receiver ;

// Constructors

private function Command( receiver:Receiver )

{

this.receiver = receiver;

}

// Methods

public function Execute():Void{};

}

// "Receiver"

class Receiver

{

// Methods

public function Action():Void

{

trace("Called Receiver.Action()");

}

}

// "Invoker"

class Invoker

{

// Fields

private var command:Command ;

// Methods

public function SetCommand( command:Command ):Void

{

this.command = command;

}

public function ExecuteCommand():Void

{

command.Execute();

}

}

// "ConcreteCommand"

class ConcreteCommand extends Command

{

// Constructors

public function ConcreteCommand(receiver:Receiver)

{

super(receiver);

}

// Methods

public function Execute():Void

{

receiver.Action();

}

}

//client.fla

// Create receiver, command, and invoker

var r:Receiver = new Receiver();

var c:Command = new ConcreteCommand(r);

var i:Invoker = new Invoker();

// Set and execute command

i.SetCommand(c);

i.ExecuteCommand();

//Called Receiver.Action()

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航