Domanda

Non capisco cosa sia strutturalmente diverso tra un oggetto di valore e una classe in ActionScript3.

Qualche lezione può essere un VO se decidi di chiamarla?

Grazie.

È stato utile?

Soluzione

Valuta oggetto (VO) è un modello di progettazione utilizzato per trasferire i dati tra i sottosistemi dell'applicazione del software.

Una classe ActionScript può includere campi (vari), proprietà (getter/setter) e metodi. L'oggetto Valore a termine si riferisce alle classi utilizzate dai framework (come Cairngorm) per archiviare e passare i dati tra componenti e moduli. Queste classi fungono da modelli per contenere i dati e generalmente non contengono funzioni diverse da getter/setter.

Il framework di Cairngorm ha a IvalueObject Interfaccia che non include alcun metodo.

È un'interfaccia marker che migliora la leggibilità del codice identificando le classi all'interno di a Cairngorm Applicazione che devono essere utilizzate come oggetti di valore per il passaggio di dati tra livelli di un'applicazione.

L'oggetto Value è un termine sciolto in ActionScript. Il Riferimento in lingua AS3 qui ha usato questo termine per un oggetto che è passato al costruttore di una classe per inizializzare le sue proprietà.

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);

L'uso dell'oggetto valore consente agli utenti della classe di inizializzare solo quelle proprietà che desiderano. Un'alternativa a questo metodo (più robusto e meno incline a un IMO) è specificare ciascuna proprietà come argomenti al costruttore e assegnare loro valori predefiniti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top