OO patterns with Python

Carlos Ribeiro cribeiro at mail.inet.com.br
Fri Feb 14 14:42:26 CET 2003

On Wednesday 12 February 2003 16:46, Alex Martelli wrote:
> Michele Simionato wrote:
>    ...
> > matter of personal taste, I don't like books spending hundreds of
> > pages
> > discussing doubtful classifications. I haven't read the original one,
> > though.
> > Maybe it is better than the books I have seen.
> The Gang of Four's "Design Patterns" is a great book, and a very
> practical one.  It's _strongly_ oriented to C++ however (to write
> a GREAT, practical book on design patterns I think you do have to
> strongly orient to one "target" programming language).

The GOF book is really excellent and deserves its ratings. As for the 
'doubtful classifications', well... if there is one fault with Design 
Patterns, it's the way the subject lends itself to discussion. Wikis are 
partly to blame also; instead of a few definitive and respectable sources of 
information, one can find literally thousands of confusing, duplicate and/or 
imprecise patterns definitions.

In this sense, Design Patterns resources should be regarded as dictionaries; 
although everyone can write its own, a few ones are respected because of 
their authority on the subject. It should be the same with DPs; in fact, it's 
not a coincidence that Christopher Alexander defined Design Patterns in terms 
of their unique 'language' (in his own words).

> > Anyway, to the OP I wanted to suggest that somebody entering in the
> > OOP field should not start with a theoretical book, but with a
> > practical one. I think we agree on that.
> Yes, we do.  Practice underlies theory, and getting some practice
> before delving into the theory is an excellent idea.

This is even more valid for Design Patterns, because patterns are based on 
practical experiences. BTW, reading Cristopher Alexander's original works on 
patterns lets you understand this point much more clearly.

Carlos Ribeiro
cribeiro at mail.inet.com.br

More information about the Python-list mailing list