Delegation? self?

amottadelli amottadelli at
Sat Feb 15 08:14:12 UTC 2003

I have worked with Smalltalk for many years, and with Java now.
I've designed client server and enterprise applications (and
Smalltalk was pure pleasure and Java is a pain..... but with both I felt
that a class based design enforces somehow a "static" view of objects,
while software modeling and design could grandly benefit from the
possibility of dynamically attach behavior to objects.

In many situations I found that deciding whether inheritance or
delegation was more appropriate was not an easy task and I asked to
myself: why bother? Why we don't use just one modeling principle
(delegation) powerful enough to cover all situations?

Also I'm finding that "Enterprise Architectures", "Containers" are just
a way of attaching a runtime "quality of service" to objects. The
technology used for this goal (Interceptors, Proxies, Delegates and all
other beasts) could find a much nicer implementation using delegation.

This just to say that my "vision" an view of software development have
never been the same after reading of Self and in all this years it has
intrigued me as a possibly better way of designing software.

Is just me? Has anybody experimented delegation in Squeak? 


More information about the Squeak-dev mailing list