72Miles

Recent News

Archives

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

image

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

image

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

image

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

image

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

image

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

image

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

About the Author

Mike Nereson has been a professional software developer since 2000. He thinks open source is rad, and is an active volunteer Fire Fighter.

4 Comments »

  1. 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/

  2. Posted by Javier

    November 14, 2008 @ 3:24 pm

    Hi Mike, what about head first design patterns?

  3. 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.

  4. 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…

RSS feed for comments on this post · TrackBack URI

Leave a Comment

About

72 Miles Software - open source software, search engine optimization analytics, and software startup information. Software by design. Read More

Categories

Links

Sitemap