Traits with pool vars?
ducasse at iam.unibe.ch
Thu Apr 7 11:59:01 UTC 2005
> I love the way traits separate method from class.
:) me too
> Traits do not know the ultimate class, so they cannot reference
> Traits do know Smalltalk, so they can reference global variables and
> are not quite stateless.
> I have occasion to experiment with "regional variables" and want to
> use pool vars for this.
> Ar a first glance, it seems simple to let traits access pool vars.
> Does this violently violate the ideas behind traits?
I will have to digest it.
But without too much thinking I would say that as soon as you only have
global space this should not be a problem. However now this could mean
you would need a kind of requirement for dependency with the pool.
Because you could load a PoolReferingTrait into a system not having
and then yoru code would not be working.
So my solution would be to:
do not access pool in traits
use a required methods instead
and in the class provide a method to access to the pool
this way the class has the responsibility to access/provide state and
traits just use
or express requirement and are not polluted with state.
More information about the Squeak-dev