thanks lukas, make sense. For the port to GemStone/S i
might leave
MAProxyObject and MADynamicObject out. it can always be added later
if people really want it.
what do you think ?
Yes, I would do so.
Pier has some users, but we could either refactor those or port
MADynamicObject later on. I guess GemStone/S also supports
#doesNotUnderstand:?
Lukas
From: renggli(a)iam.unibe.ch
Subject: Re: Magritte- MAProxyObject, MADynamic object
Date: Thu, 11 Oct 2007 18:14:43 +0200
To: smallwiki(a)iam.unibe.ch
> what and how are MAProxyObject and MADynamicObject used in
magritte ?
i know it
acts as a proxy for a 'real Object'. where are these
proxies used
?
It is rarely used, I try to avoid its use as much as possible.
MAProxyObject is an abstract class. MADynamicObject is created when
sending the message #asDynamicObject to a block.
The idea is to have dynamic properties in descriptions (or other
objects). For example in Pier the owner of a structure is described
on the class side with something like:
MASingleOptionDescription new
beSorted;
label: 'Owner';
selectorAccessor: #owner;
reference: PUUser description;
options: [ self allUsers ] asDynamicObject;
yourself
This means every time the options are queried the sender gets a
proxy
object that (most of the time) resolves to the
list of all available
users.
Again, this is cool magic that works most of the time, but I
strongly
discourage to use it. In all cases it is possible
to avoid its use
all-together, for example by overriding #description on the instance
side and adding the description manually instead of defining it on
the class side. I am just too lazy to do that sometimes ;-)
Cheers,
Lukas
--
Lukas Renggli
http://www.lukas-renggli.ch
_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki
Check our comprehensive Salary Centre Overpaid or Underpaid?
_______________________________________________
SmallWiki, Magritte, Pier and Related Tools ...
https://www.iam.unibe.ch/mailman/listinfo/smallwiki