2016-08-30 9:44 GMT+02:00 Denis Kudriashov <[email protected]>:

>
> 2016-08-30 8:52 GMT+02:00 Norbert Hartl <[email protected]>:
>
>> I think for the 0 case we should think about instantiating the
>> SubscriptionRegistry lazily. This would also mitigate the effect that if a
>> lot of announcers are created they create only a single object instead of
>> two until used. Of course this depends on the probability of having a lot
>> of announcers where only a few are used.
>> The #announce: method looks like it has been lazy before.
>>
>> Announcer>>#announce: anAnnouncement
>>
>>         | announcement |
>>         announcement := anAnnouncement asAnnouncement.
>>         registry ifNotNil: [
>>                 registry deliver: announcement
>>                 ].
>>         ^ announcement
>>
>> checks for #ifNotNil: but registry is created in #initialize. So
>> #ifNotEmpty: would be right here but #deliver: checks that, too.
>>
>
> We always hide announcer instance inside owner. So it could instantiate
> announcer lazily if such optimization really needed.


Interesting is slots allow to implement such pattern?
I imagine AnnouncerSlot which will generate "read code" specifically
depending on following message send.

Reply via email to