[fpc-devel] Interface delegation fix: backport to FPC 2.4.2 ...?
memson.lists at googlemail.com
Thu May 20 11:58:56 CEST 2010
Graeme Geldenhuys wrote:
> Matt Emson het geskryf:
>> Having used it a lot recently, I'd prefer MVC to be used with in a
>> class library.
> MVC often uses Observer!
And? I've never said the observer pattern was bad. I've only ever said
that retrofitting it is bad. If I advocated a new framework - MVC would
be the direction I would like to see it go.
> Model-GUI-Mediator (MGM)
I'd prefer complete segregation of controller and view to be honest.
>> A Subscription mechanism is more powerful. Look at the MUSCLE C++
> I don't know the Subscription mechanism using in Muscle C++, but from the
> name alone, it sounds exactly like what Observer does.
It is like an uber-Observer. It allows Observable instances to specify
what data they publish about themselves (think "nodes on a tree") and
for the Subscribers to choose any/all of the items to observe. The
Subscription mechanism can be internal, but equally cross process. The
MUSCLE implementation of it works a lot like the Message passing in
Haiku, but across various domains (e.g. TCP/IP comms between machines)
with the notion of being able to specify a tree of published data items
and a mechanism to subscribe to changes of those items.
>> As Marco said - the underlying framework is fundamentally flawed. You
>> want to patch it. You need to redesign it. You are incredibly short
>> sighted here. Think outside of the box.
> Yeah well, redesigning the RTL, FCL, LCL is not an option either. It will
> take the next 10 years to implement;
Why? A complete rewrite might take some time, but equally you could fork
the RTL, FCL, LCL and then refactor them over time, just as you seem to
want to anyway. I don't see why this isn't your response anyway. Isn't
that the "open source" way? Contribute/Refactor/Reject/Argue/Fork? :P
> you will loose all compatibility with Delphi and existing code....
Ah, so Delphi compatibility is important now? If you want to refactor
the RTL as you state, you will still need to lose a certain amount of
compatibility anyway. I don't see why this is an issue. Create a Facade
if it is that important :)
> all because you only wanted to add one rather simple feature.
Simple for who? Nothing about the Observer pattern is simple unless you
understand what it is and why it exists.
>> Talk is cheap. I'm not using pascal enough to justify coding. But if I
>> was doing this, I'd start again, as Marco suggests.
> Yes, and I have bills to pay and no time to waist with such stupid ideas.
I expect Marco feels the same way :)
> I code in Object Pascal for a living.
Oh dear :-) I got off that horrible train wreck a few years back.
> Just because there is a problem
Everything is a problem to someone. It's just one of those unfortunate
realities one must deal with :)
More information about the fpc-devel