>>I'm a proponent of Top-Down design (which may help further). I think it fits well with OOP principles.
>
>Actually, I've lost the "top" ... I'm working more from a component-composition point of view ... with everything interacting pretty well on the same plane. I like to think of it as one big "mechanism" with no single driver.
>
>If by top-down, you mean class hierarchies ... then yes. But if I'm working at level n and realize I could use a new property or method in the base that I can inherit from, I add then and there (to the base). It's not too long before I have all my class libraries open (in my editor).
No, I mean consider the problem in its entirity, and then factoring it into each of its individual components. Then take the components and factor them down further, and repeating as often as necessary. Basically, it looks at a problem (from the top) in terms of each of its components (to the down). Thus, Top-Down.
George
Ubi caritas et amor, deus ibi est