November 13, 2008 @ 11:13 pm
Favorite Software Patterns Books
I really enjoy reading books about java and software development. My favorite type of book is the patterns books. Patterns books are great because the chapters are usually short and very focused. So you can read a chapter over lunch, or before you hit the pillow and usually not put the book down in the middle of a 30 page chapter.
I am in the midst of reading and reviewing Pro Java™ EE Spring Patterns: Best Practices and Design Strategies Implementing Java EE Patterns with the Spring Framework. Reading this book got me thinking about all of the other patterns books that I have read and really enjoyed. Here are my favorite software patterns books.
Core J2EE Patterns: Best Practices and Design Strategies
I think this was my first patterns-based book. I got a free copy when I was enrolled in a week long java patterns and architecture class in 2002 or so. I now have two copies on my bookshelf. One for me and one to lend out to friends and colleuges.
Core Patterns starts by introducing the concept of software patterns, then takes a unique approach by describing common J2EE anti patterns and then discussing the refactored solutions. This allows a straight-through reading for those unfamiliar with patterns or use as a reference guide for experienced pattern users.
The Manager Pool: Patterns for Radical Leadership
Of all the patterns books that I have read, I think this book has the most chapters at a whopping 61. Its also my favorite. I think its my favorite because it sort of on the fringe of software development, so I don’t feel like I know as much about management. I also like it because I could relate to most every pattern either as a subordinate or as a manager.
This fun book identifies patterns such as Tribal Language, Leviathan, and Unique Place. The chapters are short and quick to read. This book will help you communicate more effectively, understand your subordinates, and make you a stronger software manager.
Pro Java™ EE Spring Patterns: Best Practices and Design Strategies Implementing Java EE Patterns with the Spring Framework
I am currently reading this book. The author has a poorly written java web application that uses no model-view-controller. He takes you through the refactoring of the project. He explains a pattern, and then discussues how the Spring MVC implements the pattern. It is common for the next pattern to build on the previous, so this book is a little harder to jump to an arbritrary chapter and start reading, unless ofcourse you know the patterns aready.
This book takes you though the presentation layer, business layer, and integration layer and discusses how Spring uses and implements patterns throughout each layer of the software. A great Spring reference or a great MVC reference. I am glad I got this one for my bookshelf.
Patterns in Java: A Catalog of Reusable Design Patterns Illustrated with UML
This book opens with background on pattern research, including the groundbreaking design patterns. It goes further, with 41 software patterns, all illustrated with UML diagrams and sample Java code. Early patterns, such as Delegation and Proxy, show how classes can work together without relying on inheritance. Next come creational patterns, such as the Factory and Builder patterns and the newer Object Pool pattern.
These pages turn out to be a great resource not only for patterns, but also for Java and UML. If you read this one and enjoy it, there is also a second volume.
Design Patterns: Elements of Reusable Object-Oriented Software
This book was a little more difficult to read. Its much more academic-oriented, rather than written to be a casual read. It also goes deeper into the pattern than most other books do. I guess that makes it a good reference. This is one of the only patterns books that I have read that delves into the user interface.
The downside with this book, in my opinion, is that its geared towards C++ software development, so as a java developer, I spent more time trying to understand the code examples than I did reading and understand the patterns.
Check out the table of contents.
Software Architecture Design Patterns in Java
Covering 35 patterns, a long introduction to UML, and a web hosting company case study, this book weighs in at almost 500 pages. This one is practially a design pattern encyclopedia, so if you can only have one design pattern book on your shelf make it this one.
This book relys big on examples and has become a fundamental book for newer and older developers alike. After reading this one I think you’ll find yourself using patterns names more often in discussing your software.
Anti-Patterns and Patterns in Software Configuration Management
To end, an anti-patterns book. And to be honest, This one I have not read, but its next on my book list becuase it is on a topic that so few developers are experts in or sometimes even carry a conversation in. This book is coming up on 10 years old
As I understand, most readers of this book can really relate to most every pattern because their organizations are so bad at configuration management. This could give you the leg up to show off you knowledge and help your organization become more successful in the art of software development. At least thats what I hope it can do for me.
UPDATE: I just ordered this from amazon.
Thanks for reading my list. Now I have to ask, have you read any of these? Do you have any comments on them? Have you read any great patterns-based books that you would recommend?
Now that you've read what we think, what did you like about the post? Where do you think we went wrong? Join or start the discussion.
Filed under Books, Software Development Permalink
4 Comments »
RSS feed for comments on this post · TrackBack URI







Posted by Jonas
November 14, 2008 @ 4:08 am
Interesting! Some books of those books I have never heard of.
For enterprise development Martin Fowlers “Pattern of Enterprise Application Architecture” is a MUST!
The Pattern Catalog can also be found on Fowlers homepage:
http://www.martinfowler.com/eaaCatalog/
Posted by Javier
November 14, 2008 @ 3:24 pm
Hi Mike, what about head first design patterns?
Posted by Mike
November 16, 2008 @ 12:09 am
@Jonas - Thanks Jonas. The catalog on Fowler’s page is a great resource.
@Javier - Yes. I had a copy of that in my office a few years ago. We got it along with about 20 other books. A lot of the other books were more interesting to me at the time, so I never quite got around to head first. I think I flipped through and and didn’t like it for some reason.
Thanks for the comments, fellas.
Posted by Jonas
November 16, 2008 @ 9:39 am
I think the “Head First…” series are very good books for learning, but they are no reference books.
To people who are learning for a certification I always suggest first to look if there is a “Head First…” title around.
But you don’t want a “Head First…” book on your shelf to quickly look something up.
… just my opinion…