[Pharo-project] Why don't we always register weakly in SystemAnnouncer?
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>
> > Hi, with the help of Guille I noticed that normal instances usually
> > 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.
> > 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...
More information about the Pharo-dev