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
不做浮躁的人 閱讀(3454)
評論(2) 編輯 收藏 所屬分類:
flex