VO的使用技巧


在AS3中会经常使用VO(值对象),尤其是在Cairngorm之类的框架中。下面是我在工作中使用VO而总结出的两个使用技巧,与大家分享。
一、可用遍历方式赋值。如下面代码:
package vo
{
 public class Media
 {
  public var name:String;
  public var singer:String;
  public var format:String;

  public function Media()
  {
  }

 }
}如果VO的属性与其它对象的属性一一对应。在转换时就可以用遍历赋值。如下面代码我们将XML属性解析成VO属性。
var ac:ArrayCollection = new ArrayCollection();
for each(var xml:XML in list)
{
 var media:Media = new Media();
 for each (var node:XML in xml.attributes())
 {
  var obj:Object = node.localName();
  media[obj] = xml.@[obj];
 }
 ac.addItem(media);
}二、动态VO类。如下面代码:
package vo
{
 public dynamic class Media
 {
  public function Media()
  {
  }

 }
}这种方法是我同事首先提出来的。其实用使用了动态类可动态添加属性这一特性。不过这样的VO在Flex Builder中是没有代码提示的,慎用。

你可能感兴趣的:(xml,框架,工作,Flex)