[aida] "Dynamic" Domain Objects
petton.nicolas at gmail.com
Fri May 23 01:22:00 CEST 2008
Le vendredi 23 mai 2008 à 01:09 +0200, Stefan Schmiedl a écrit :
> Hi Rob,
> On Thu, 22 May 2008 18:57:51 -0400
> "Rob Rothwell" <r.j.rothwell at gmail.com> wrote:
> > Ok...I'm not looking for an answer, just maybe a recommendation on how to
> > proceed.
> > I created a very simple "dynamic object" (aren't all Smalltalk objects
> > dynamic?!) with an addField method that would create a new instance variable
> > and accessors so that I could dynamically add new input fields to a
> > WebApplication (since a WebFormElement uses an aspect:for: an object to bind
> > to--otherwise, I probably would just use a Dictionary).
> FWIW, I *would* use a dictionary.
You was faster than me! :)
> An "aspect" is nothing more than
> a reader and a writer with "compatible" names. If your ArbitraryObject
> has a dictionary 'properties' as instance variable, you can create
> "aspects" of your ArbitraryObject like, e.g.
> ^properties at: #name ifAbsent: ['unnamed']
> name: aString
> properties at: #name put: aString
> If you don't care too much for speed, you could also avoid defining all
> of these methods by yourself (or explicitly in code) and instead prevent
> the MNU exception being raised by implementing (in VW)
> Object's method 'doesNotUnderstand: aMessage' which gives you access
> to the selector, which in turn would point to the property you're
> interested in.
> Aida mailing list
> Aida at aidaweb.si
-------------- section suivante --------------
Une pi?ce jointe non texte a ?t? nettoy?e...
Nom: non disponible
Taille: 197 octets
Desc: Ceci est une partie de message
More information about the Aida