1、为每一个java dto类定义一个对等的AS类
AS:
package datasource.dto {
[RemoteClass(alias="datasource.dto.CustomerDTO")]
public class CustomerDTO {
public var firstName : String;
public var birthDate: Date;
}
}
JAVA:
public class CustomerDTO {
public String firstName;
public java.util.Date birthDate;
}
2、让AS的DTO类的所有属性都是绑定的,因此,最好是在类的前面加上绑定的元数据
package datasource.dto {
[RemoteClass(alias="datasource.dto.CustomerDTO")]
[Bindable]
public class CustomerDTO {
public var firstName : String;
public var birthDate: Date;
}
}
3、为Server和Client的Dto类都设定UUID的属性,便于在表格等集合中排序使用,比如,人员信息中,按性别排序,由于性别是不唯一的数据,因此必须加上性别和UUID的组合排序,在性能上,也会有所提升。
4、尽量用getter和setter方法代替Public属性。
5、可以考虑做Dto的扩展类来实现一些定制的目的,比如在类里面有个计算列,我们可以扩展一个类:
package datasource.dto {
[RemoteClass(alias="datasource.dto.CustomerDTO")]
public class PortfolioItemExtendedDTO extends PortfolioItemDTO
public function get unrealizedGain():Number {
return lastPrice - costBasis;
}
而不是在表格的ItemEditEnd事件来实现相似功能。
6、如果存在计算列,可以考虑计算列的绑定。可以写一个无效的setter方法。
Bindable(event="propertyChange")]
public function get unrealizedGain():Number {
return lastPrice - costBasis;
}
public function set unrealizedGain(value:Number):void {
// Ain't gonna happen, but Flex won't consider Bindable without the setter
}
posted on 2008-06-10 14:36
不做浮躁的人 阅读(3447)
评论(2) 编辑 收藏 所属分类:
flex