[Tutor] The Gang of Four (was: A Book for You and Me)
alan.gauld@bt.com
alan.gauld@bt.com
Fri, 6 Sep 2002 17:19:55 +0100
> And "Design Patterns" is written like a college book,
It is primarily a reference book not a tutorial.
It is a very easy book to use in day to day work
when you want to look up the details of a pattern.
Its not a fun book, however...
> book where you get the feeling that the people who wrote it
> are very, very serious, don't have much fun in life
...when the book came out I went to a seminar on patterns
by Ralph Johnston one of the GoF. He was charming, witty
and very informative. I can assure you they ain't stiffs! :-)
> Also, the book is from 1995, and still in
> the first edition. I would expect OOP has progressed somewhat
> since then,
The book isn't about OOP its about design patterns. The
patterns they list are still the most commonly used patterns
by a long way and nothing has changed. Some new patterns
have been discovered and the patterns web site describes
them in the same manner as the book.
> so somebody should sit down and rewrite the whole thing
> to a) bring it up to date with current developments,
It already is.
b) humanize the prose,
That might make it readable but they need to keep
it concise and precise for referemnce purposes too.
> c) replace the Smalltalk examples with Python.
Hmmm, a tad biased there methinks :-)
> My suggestion to other amateur newbies is to wait with this
> book until you keep running up against terms like
> "Flywheel" and "Factory" and "Mediator"
Absolutely. This bnook is absolutely NOT for OO beginners.
It assumes a very good grounding in OO and is aimed at
designers first not programmers. If you fit the right
profile then its a must have and you should approach it
by reading one chapter per day - Johnston's recommendation
and I agree its a good approach.
> this book is far more in the science section
> of computer science,
Nope, its very much in the mainstream of software engineering
and design in particular. I use it at least once a week.
> going to want to read a whole lot of other
> stuff before you get to it.
Absolutely, it's a niche book but fills its niche well.
> it can take 15 pages of robotic prose to
> explain in very abstract terms what an iterator does,
Becase they are describing a very abstract concept. It
may or may not be implemented in an OOP language and
it may or may not be in a similar scenario to the example
they give.
> and how amazingly complicated they
> seem to be to implement in C++.
Their C++ tends to be almost copy book perfect. Its one of
the things I was very impresssed with, they write code
that could actually be copied into real projects.
It takes account of all the special cases
(consts, references etc etc). Very few books provide as well
written C++ as found there(Herb Sutter's books being notable
exceptions(sic!))
> "Code Complete" by McConnell first
Ah, now there is an outstanding book. Everyone who writes
code owes it to themselves to buy and read this book.
> definitely a "We read Knuth so you don't have to" (Tim Peters in the
> "Python Cookbook") kind of book.
I'd probably agree. Its a book aimed at professional
software engineers grappling with complex problems
that require complex solutions. It is like the meta
classes book - if you understand it then you can
be fairly that you really finally understand OO!
Alan G.