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. Cleaner.

A Subscription mechanism is more powerful. Look at the MUSCLE C++ framework.

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 :)

_______________________________________________
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to