[FIX] KCP-0200-BehaviorSubclasses ( [er][et][su][sm] tests worked, might need some discussion )

stéphane ducasse ducasse at iam.unibe.ch
Sun Mar 21 20:06:54 UTC 2004


> I installed the ChangeSet and ran the tests. They work as advertised.
>
> I looked at the code as well and the use of allInstances bothers me
> slightly. As stated in the comment this is slow. However, as currently
> Behavior>>allSubclasses calls subclasses Behavior should get such a
> method. Either it should be subclassResponsibility if Behavior is
> supposed to be abstract.

Behavior is not abstract. In fact Behavior has been designed by deutsch
and others because thy thought that people would be willing to create 
anonymous
classes. For example CodA uses this trick to introduce meta-object 
transparently.

> Is it? The class comment states the following: "I am a good starting
> point for providing instance-specific behavior (as in Metaclass)." Does
> that mean, it is not abstract? There are no instances of Behavior in my
> image. Has anyone used Behavior instances?

Read my joop paper on my web site to understand the point :).

> The other possibility would be to move the ivar subclasses from Class 
> to
> Behavior. This is how it is implemented in VAST 6.0.1, in Dolphin 5.1.3
> and VWNC 7. I guess this might be a difficult change, though.

I'm not sure but this is true that changing the format of behavior can 
have ripple effect.
>
> The method ClassDescription>>subclasses should be deleted.
>




More information about the Squeak-dev mailing list