2011-03-29 123 views
1

根据Cairngorm体系结构,每个服务的每个命令类中都有一个故障处理程序。Cairngorm故障处理程序

如何创建一个用于处理所有服务的错误处理程序事件的类。

+0

但事情是,我想处理它的相对命令类的结果,但要处理全局类中的错误处理程序。我没有弄清楚我们如何实现它。任何人都可以举个例子。 – Guest 2011-03-30 03:14:10

回答

1

创建一个扩展所有其他类的基类,将故障处理程序放在那里。如: FaultHandlerCairngormCommand延伸SequenceCommand实现的IResponder

[BaseCommand.as]

[MyCommand.as]

// -- no need to implement onFault in sub-class 
public class MyCommand extends BaseCommand 
{ 
    public function execute(event:Event):void 
    { 
     remoteObjectDelegate.doYourServerOperation(this); 
    } 
    override public function result(data:Object):void 
    { 
     trace("happily handling the data"); //without this override an error will be thrown so the developer will know to correct 
    } 
} 
+0

但事情是,我想处理它的相对命令类中的结果,但要处理全局类中的错误处理程序。 – Guest 2011-03-30 03:12:38

1

通过 “总是有一个故障处理程序”,难道你的意思合同,如在实施一个接口?

您可以编写一个基本命令类,以便您的所有其他命令类都可以扩展。该基地可以实现故障处理程序和所有其他子类可以选择覆盖它。

public class BaseCommand implements ICommand 
{ 
    public function execute(event:Event):void 
    { 

    } 

    public function onFault(event:Event):void 
    { 

    } 
} 

// -- no need to implement onFault in sub-class 
public class MyCommand extends BaseCommand 
{ 
    public function execute(event:Event):void 
    { 

    } 
}