gpt4 book ai didi

actionscript-3 - 值对象和 AS3 中的泛型类有什么不同?

转载 作者:行者123 更新时间:2023-12-05 00:42:33 26 4
gpt4 key购买 nike

我不明白 ActionScript3 中的值对象和类在结构上有何不同。

如果您决定将任何类(class)称为 VO,是否可以将其称为 VO?

谢谢。

最佳答案

Value Object (VO) is a design pattern used to transfer data between software application subsystems.



actionscript 类可以包括字段(vars)、属性(getter/setter)和方法。术语值对象是指框架使用的类(例如 Cairngorm),用于在组件和模块之间存储和传递数据。这些类充当保存数据的模板,通常不包含 getter/setter 以外的函数。

Cairngorm 框架有一个 IValueObject不包含任何方法的接口(interface)。

It is a marker interface that improves readability of code by identifying the classes within a Cairngorm application that are to be used as value objects for passing data between tiers of an application.



值对象是 actionscript 中的一个松散术语。 AS3 language reference here已将此术语用于传递给类的构造函数以初始化其属性的对象。
class Circle extends Shape 
{
public var bgColor:Number = 0xFFFFFF;
public var radius:Number = 0;
public var xCenter:Number = 0;
public var yCenter:Number = 0;

public function Circle(initObj:Object)
{
//initialize properties from the value object.
for(var i:String in initObj)
{
this[i] = initObj[i];
}
draw();
}

public function draw():void
{
graphics.beginFill(bgColor);
graphics.drawCircle(xCenter, yCenter, radius);
graphics.endFill();
}
}

var firstInitObj:Object = new Object();
firstInitObj.bgColor = 0xFF0000;
firstInitObj.radius = 25;
firstInitObj.xCenter = 25;
firstInitObj.yCenter = 25;
//pass the value object to the constructor.
var firstCircle:Circle = new Circle(firstInitObj);

值对象的使用使类的用户能够仅初始化他们希望的那些属性。此方法的替代方法(更健壮且更不容易出错的一个 imo)是将每个属性指定为构造函数的参数并为它们分配默认值。

关于actionscript-3 - 值对象和 AS3 中的泛型类有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2032353/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com