[Tutor] OOA and OOD resources?

Scott Chapman scott_list@mischko.com
Tue May 20 11:24:10 2003


I'm learning python and oo at the same time. I'm currently looking for more 
grounding in practical ooa and ood.  The basic question is "How do I know 
what to make objects out of and what are the pitfalls of doing it this way 
vs. that way?"

I have read various chunks here and there, saying things like, "Inheritance is 
not good because it creates dependencies", or "Aggregation is good but it's a 
pain to implement the proxy methods".  Then we have the Extreme camp which 
says, "Sstart with a few objects and reiteratively ooa and ood as you go 
along".  I realize that some of this is being distilled as patterns (and I 
like what little I've seen of the Extreme camp).  That's great if you know 
what they are and where to apply them.

I tend to be a very-big-picture thinker.  I like to have a framework to hang 
things on rather than starting at it piecemiel.  Is there a solid set of 
general principles for ooa and ood that I can begin to build upon?

Are there any textbooks out there that start with oo (even ooa and ood) and 
build from there?  I see that introductory books deal with the language 
elements and a basically procedural orientation, then add oo later as 
"advanced".  I'd love to see a textbook that starts on oo and builds on it.

I'm fairly sure that no such book exists for Python but I'd love to be proven 
wrong!

Cordially,
Scott