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

标签 actionscript-3 value-objects

我不明白 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/

相关文章:

apache-flex - Flex 中的异步函数调用

java - 编译 AutoValue 库示例项目时出现问题

java - 可以公开不可变对象(immutable对象)的状态吗?

c# - `EqualOperator()` 和 `NotEqualOperator()` 方法如何在此 `ValueObject` 实现中工作(Microsoft 文档)?

string - ActionScript 3中的多行字符串文字

actionscript-3 - 您对 NResponder 感觉如何?

c# - 在 GridView (ASP.NET) 中编辑一个没有键(值对象)的对象

Nhibernate 组件映射 : Parent Object null in Value Object while querying from database

php - 流交互 As3 -> PHP -> Mysql -> C++

flash - 查找数组中的所有系列