In my opinion, instead of anonymous objects with values that are not typecast,
it's best to create ValueObjects (VOs, also called Data Transfer Objects or
DTOs) - which are basically simple classes that have no constructor, no methods
at all (maybe a getter or setter if you prefer) - just a class to store public
properties. So for those, I would write a VO class like this:
package
{
class MyVO
{
public var id:int;
public var name:String;
public var group:Number;
}
}
(you can also set default values this way if you like). If you end up writing
functions in your VO classes, you're doing something wrong and missing the
point of VOs.
Then, all you have to do is create them:
var myVO:MyVO = new MyVO();
myVO.id = 4;
myVO.name = "foo";
myVOP.group = 7;
Throw those into an array and you're set. You can pass VOs through events,
manage them in the model, have your other classes accept VOs, whatever. It's
what Cairngorm and other design patterns use to move groups of related data
around inside an application. This also allows for code completion on your VO
in apps like Flexbuilder and FlashDevelop. What I typically do is load in XML
data and create VOs from that (in my Model class) to use in my app. I wouldn't
recommend using XML calls throughout your app, because then your app relies on
XML and it's structure. With VOs, the data source can change (say you switch
from XML to a Webservice) and your app doesn't break. All you have to do is
change the parsing of the data into VOs in your model.
Jason Merrill
Bank of America Global Learning
Learning & Performance Solutions
Join the Bank of America Flash Platform Community and visit our Instructional
Technology Design Blog
(note: these are for Bank of America employees only)
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Eric E. Dolecki
Sent: Friday, April 23, 2010 3:22 PM
To: Flash Coders List
Subject: [Flashcoders] Quick question about dynamic groupings
Hey all,
I am beginning the authoring a class to manage objects dynamically. The main
functionality is to group/ungroup the objects. I was thinking of starting out
by having each object be it's own group.
[{id:1, name:"foo", group:1}, {id:2, name:"bar", group:2}, {id:3,
name:"mustaine", group:3}];
And then be able to move them in and out of group objects in the class & be
able to report them back to another class, etc.
Is this the best way to handle it - would internal XML be better, or is an
array of objects that gets manipulated around a better solution?
Eric
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
_______________________________________________
Flashcoders mailing list
[email protected]
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders