Author: Ken Pugh
Publisher: Pragmatic Bookshelf, 2006
Aimed at: Beginners wanting a theoretical approach
Pros: Workmanlike treatment of topic
Cons: Not an inspiring read
Reviewed by: Mike James
This is a good book with the proviso that you aren’t an expert and you aren’t the sort of programmer who just wants to get on with the job. Ideally you need to know the basics of object-oriented programming and have a desire to learn something about the theory of how you can do it better. Pugh describes the principles of using interfaces – cohesion, coupling, and then moves on to core patterns – proxy, factory, façade, adaptor and so on – and all mostly without being language- or technology-specific. When code is presented it is in C# but this is easy to understand no matter what language you use. It’s not written in a “racy” or “breathless” style typical of, say, an extreme programming text. As a result this isn’t an inspiring book and it isn’t particularly motivating – something that some readers will find disappointing. However it is well written, carefully reasoned and overall an intelligent account. It doesn’t go very far, it’s only a slim book, but it isn’t expensive and well worth reading if you are just getting started.
<Reviewed in VSJ>