Fog Creek Software
Discussion Board

Welcome! and rules

Joel on Software

Books or links on good object design

Anyone have thoughts on a good introductory book on good OOP design?

I've been browsing Barnes & Noble and have found many books on UML and process design.  Lots of them seem very academic and not too hands-on.  My preference is straight forward, and then, once I get the idea, move to a higher level book.

Alternatively, if anyone uses some other methodology (ie: "We don't use UML because..."), I'd really appreciate hearing about that as well.


Charles Reich
Monday, February 23, 2004

UML really has two faces.

One is the idea that, where we used to draw a bunch of clouds and arrows, now we have a common toolkit of images that everybody understands, so we can intelligently diagram things without meta-explanations.

The other is the idea that UML is a methodology; that is, there are specific ways you use UML to design software, and in some cases, you can find tools that will generate code directly from UML.

While I find great value in the former, I think the latter is a big point of contention.

As for good starter OOP books, I have no suggestions (we are more fans of interface-driven development, rather than object-driven development). When you get good, though, you absolutely must read "Design Patterns".

Brad Wilson (
Monday, February 23, 2004

Thanks for the response Brad.  I've looked at a few websites on interface driven design, and the articles make a lot of sense  to me.

Charles Reich
Tuesday, February 24, 2004

Charles - you may want to check out for some books. My background was with Java, and I know there are several OO design books from the Java world. I've heard "Thinking in Java" by Bruce Eckel as being an excellent introduction, though I haven't read it. (It is available free from his web site - Google around for it if you are interested).

If I come across any others I'll let you know.

Wednesday, February 25, 2004

*  Recent Topics

*  Fog Creek Home