First and foremost: THANKS for eMVC! I've been researching on-and-off for years now how to best design UI logic for programs. MVC certainly comes up, but nothing that really addresses forms based enviroments like Delphi. I just discovered some research that denoted "Classic MVC" from a more modern MVC which accounts for
controls/widgets like Delphi....
...and then I ran into eMVC! :)
I'm still comming up to speed on it, but I do have one
suggestion (one I've already implemented in my copy of eMVC):
Now some ideas for the next release:
I personally think it would be a good ideal for the most of various identifiers in your unit, and the unit name itself, to have a prefix of "eMVC" (or "TeMVC", "IeMVC", ect), to avoid collisions with other units / patterns. I do understand why you use IObserver /IObservable for the interfaces to the observer pattern (ie make available for other uses beyond just eMVC), but I still think it would be a good idea to use the prefix(es) to avoid name polution.
The other item for future versions of your user's guide: it isnt fully clear on what/how to use the parameter for the Notify()/UpdateView() - the examples use TCommand, which indeed is a very good idea but was confusing with using TCommand for mset-to-mset communications. More importantly, unless one looks at the source code of the unit, its not at all obvious that supplying nil for the parameter for the Notify()/UpdateView() WILL RESULT IN THE UPDATES NOT OCCURING! This should be mentioned in the documentation. (I'm sure there is a reason, but I cant think of why one couldnt have a nil parameter for simple applications...)
Anyway, I know I can make both of these recommendations to my own copies, but I wanted to pass them along to you for your consideration.
Thanks for solving alot of my problems! :-))
Logged In: YES
user_id=136129
Originator: NO
Sorry for reply you late mate.
I work as a developer in my current company and the software I developed released recently. So, busy like a dog in passed few month and have no time to come here.
I am very glad to see that eMVC give you a little bit help and I do apprecitate your comments on it. I am sure I will think about your suggestion seriously.
Tks mate.
larry