服务对象返回

时间:2011-08-21 18:13:07

标签: flex actionscript-3

这是一个小问题,我假设在RIA,特别是Flex / AS3中弹出ALOT。请允许我解释,假设我们有一个复杂的对象Car。

Car
{
   name:String;
   creationDate:Date;
   engineSize:String;
   pastOwners:Array;
   maintenenceOperations:Array
}

现在假设我的应用程序通过更改其名称来更新Car对象并将其发送到服务。我的问题是你如何处理对象的返回和更新应用程序端存在的Car对象。你是否为每个班级编写并编写样板?如果属性是延迟加载的,你如何处理?

在编写样板更新代码之前我已经完成了,如果有更好的方法,我只是不想继续重新发明方形轮。

请求更新方法示例的请求,所以这里是。它没有完整的所有方面,但它捕获了你有一个现有的Car对象的想法,并且你将新的服务对象传递给它以纠正差异。

[Bindable]
[RemoteClass("com.stackoverflow.example")]
public class Car
{
    public var name:String;
    public var engineSize:String;
    public var maintenenceOperations:Array;
    public var owner:Owner;

    public function update( value:Car ):void
    {
        if( value != null )
        {
            this.name = value.name; 
            this.engineSize = value.engineSize;  
            if( this.owner != null )
            {
                this.owner.update( value );
            }
        }
    }
}

2 个答案:

答案 0 :(得分:2)

保持简单,大多数情况下不需要处理发送到要更新的服务的对象的返回。

如果服务在更新时修改了对象,请获取结果对象并替换孔flex对象,而不是检查其属性以进行更改。

答案 1 :(得分:1)

简短回答,您需要某种与该对象相关的ID(唯一)。当服务器返回时,您可以查看该对象ID的关联数组(Dictionary)并更新相应的属性。

答案很长,真的取决于你想要完成的事情以及如何实现。这个问题有很多答案,但是你可以找到哪种方法最适合你的具体情况。