[Pharo-users] Re: Null Object Pattern

2022-03-19 Thread Richard O'Keefe
An override of #doesNotUnderstand: *is* (an instance of) the problem. What part of "you may think you know what to forward now, but just wait a couple of months or install an additional package and there will be *more* selectors you needed to think about but didn't" is hard to understand? Proxies

[Pharo-users] Re: Null Object Pattern

2022-03-19 Thread James Foster
I don’t understand. Wouldn’t an override of #'doesNotUnderstand:’ solve this problem? The proxies I’ve seen subclass from nil or ProtoObject and forward almost everything to the target. It’s really very easy. > On Mar 19, 2022, at 3:14 AM, Richard O'Keefe wrote: > > An object should be a Proxy

[Pharo-users] Re: Null Object Pattern

2022-03-19 Thread Richard O'Keefe
An object should be a Proxy or Stub only with reference to a specific protocol, which should be kept narrow. Being a Proxy is a form of coupling. Proxying a wide interface creates maintenance problems: Squeak 5.3 : Object selectors size => 485 Pharo 9.0 : Object selectors size => 435 astc