Peter Fitzgibbons wrote: >>> Hi Robert. I don't understand the difference between your explanation >> and >>> re-opening the class on the instanciated Object? Does this get into >> $SAFE >>> level? >> The difference is whether you have a single instance (which you then >> modify) or two instances (where you can leave the original unmodified). >> At times it's not allowed / desirable to change another instance / class >> and for these cases delegation is better. Also, as long as we do not >> have selector namespaces, several added methods to a class / instance >> may run into naming conflicts which won't happen if ever part of the >> code that wants to add a set of functionality creates their own >> delegator. Of course there are drawbacks to delegation (i.e. the >> multiplication of objects which can make it hard to find the delegators >> from the original object). > Thanks Robert. I think I get it now. Is there a text somewhere that I can > read up on the theory of object-delegation ? You're welcome. The concept is so ubiquitous that any decent book on OO theory will cover it. Some links to start with http://en.wikipedia.org/wiki/Delegation_pattern http://c2.com/cgi-bin/wiki?DelegationPattern http://c2.com/cgi-bin/wiki?search=delegation Kind regards robert