One of the great things about Design Patterns Explained is the way he explains concepts very simply using analogies rather than programming examples. This has been very inspiring for a product I'm working on: an audio-only introduction to OOP and software development. Bruce Eckel