[Pharo-project] Why don't we always register weakly in SystemAnnouncer?

Guillermo Polito guillermopolito at gmail.com
Sat Jun 16 17:12:22 EDT 2012


So, what about making weak a default and notWeak the explicit one? :D

On Sat, Jun 16, 2012 at 11:09 PM, Igor Stasenko <siguctua at gmail.com> wrote:

> On 16 June 2012 22:51, Mariano Martinez Peck <marianopeck at gmail.com>
> wrote:
> > Hi, with the help of Guille I noticed that normal instances usually
> register
> > weakly:
> >
> > TestRunner >> initialize
> > .....
> > SystemAnnouncer current
> >         weak
> >         on: ClassAdded, CategoryAdded, ClassRemoved, CategoryRemoved,
> > ClassRenamed, CategoryRenamed, ClassRecategorized send: #update to: self.
> > .....
> >
> > and classes don't:
> >
> > TestCase class >> registerForNotifications
> >     ...
> >    SystemAnnouncer current on: MethodAdded, MethodModified, MethodRemoved
> > send: #methodChanged: to: self.
> >
> > so..Guille told me this is because usually the cycle-life of instances is
> > short in comparisson with classes. But classes can be removed as well.
> What
> > happen then? the announcer will hold always a reference to an obsolete
> > class?
> > my question is, should we always use weakly? if not, why ?
> >
>
> Yes, i think most of subscriptions should be weak, because it is kind
> of implied by loose-coupling.
> And classes is not an exception - because then you don't need to
> explicitly unsubscribe,
> and don't have to worry that it kept in memory just because you forgot to
> do it.
>
> > thanks for the explanation,
> >
> > --
> > Mariano
> > http://marianopeck.wordpress.com
> >
>
>
>
> --
> Best regards,
> Igor Stasenko.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20120616/6e446094/attachment.html>


More information about the Pharo-dev mailing list