Kevin,
>Let's use this thread to see where developers are most interested in having a "TI" layer...Paul has already mentioned a few places...I'd like to have a broader picture of what developers are interested in before I implement anything (sounds suspiciously like a use case < s >).
Ok, here are my thoughts:
1) "Top-Layer"
Paul has mentioned, that he would at least like to see a "Top-Layer" which would be easier to implement for you. I've had a second thought on that and came to the conclusion, that this would only solve about 20% of the problem. In a "Top-Layer", we could only specify behaviour that isn't overwritten in the c-Layer.
Ok, you could do a DODEFAULT() in the C-Layer, but where would you call DODEFAULT()? At the beginning of the C-Layer method, at the end, or somewhere in the middle? In the meantime I think that a "Top"-Layer wouldn't really be the (single) solution.
Conclusion: Having only a "Top-Layer" would only help to add properties and methods which are not called from an event method, in which there is code in the C-Layer.
2) "I-Layer"
First let me say, that I know, that this would mean a lot of work for you. I'm just trying to express, what the ideal solution would be for me.
I'd like to have a consistant I-Layer in the whole framework. From my experience you start to manipulate some MM classes, then they're getting more and more. From my POV, you can't really tell in advance, where you'll need it. Nevertheless, the visible classes would be the most important (forms and controls).
Maybe there's a possibility to automate the task of changing the inheritance chain, generating the I-Layer classes and for searching and replacing direct instantiations in the framework code from c... to i... And the abstract factory is used in many places to instantiate classes, so these places shouldn't make any problems, since you'd only have to change the class names in classes.dbf.
I am aware of the fact, that introducing an I-Layer in many places would result in a need of extensive testing, but I think at least some of us (including me, of course) would offer themselves as beta testers and would be happy to send you any places they find, where there is an i... missing.
My vote would be:
- No Top-Layer.
- I-Layer for all classes, but at least for all form and control classes.
Regards,
Armin