File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes OO, Patterns, UML and Refactoring and the fly likes Best Design Pattern books Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Best Design Pattern books" Watch "Best Design Pattern books" New topic

Best Design Pattern books

Harsh Ravindra Gupta

Joined: Oct 29, 2006
Posts: 8
Hi Guys,

I am starting on design patterns. Please guide to the best available
books on J2EE design patterns in particular and other design patterns in general.

Thanks and Regards

Thanks and Regards<br />Harsh Gupta<br />SCJP 1.4 (95%)<br />SCDJWS--(Prep)
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper

Joined: Aug 26, 2006
Posts: 4968

Okay, there is one book that really started it all, and you have to have it:

Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (The Gang of Four - GOF)

One problem with this book, I found, was that it was language agnostic. If the examples were in Java, I could understand it more, but they weren't, and I found that frustrating.

The GOF book is over 10 years old. Here's a book that is Java based, on Design Patterns, that is less that 1 year old. I'd suggest picking this up to:

Design Patterns in Java (Software Patterns Series) by Steven John Metsker, William C. Wake

This is also a good, Java based tutorial on Deisgn Patterns. It's a bit long in the tooth, but design patterns really don't change over time:

Java Design Patterns: A Tutorial by James W. Cooper

While you're at it, I would highly, highly, highly recommend a book on Refactoring code as well. Design Patterns and Refactoring really go hand in hand. The Refactoring book is a must have on any Java bookshelf, and it's an easy read as well:

Refactoring: Improving the Design of Existing Code by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts


-Cameron McKenzie
[ January 11, 2007: Message edited by: Bear Bibeault ]
Ilja Preuss

Joined: Jul 11, 2001
Posts: 14112
If you are new to design patterns, I would ignore the J2EE patterns for a start.

Another problem with the GoF book (the first Cameron mentions) is that it is very dry.

I have also heard very good things about "Head First Design Patterns". Make sure to take a look at it before you invest your money, to see if you like the style.

Also take a look at

I second the recommendation for "Refactoring" - after I read that, I had a much better understanding of how the patterns help.

Another good book on design in general is "Agile Software Development - Principles, Patterns and Practices".

The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
For grins, see Grady Booch's Pattern Catalog. But then go back to the books recommended above.

A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
ismail hassani

Joined: Feb 20, 2006
Posts: 9
I think it's a good idea to start learning patterns with reading the patterns bible The GoF,it' seems by starting a little difficult and dry but you gain a deep understanding of patterns.

I think also it's a good idea to read that book together with another person to discuss frequently.
[ January 07, 2007: Message edited by: ismail hassani ]
Jan Cumps

Joined: Dec 20, 2006
Posts: 2562

Originally posted by Harsh Ravindra Gupta:

J2EE design patterns in particular

Sun's Java blueprints/ describe patterns for enterprise java.

It's a book and lots of on-line resources. The PDF version of the book is available via above link.

Regards, Jan

OCUP UML fundamental and ITIL foundation
Hung Tang
Ranch Hand

Joined: Feb 14, 2002
Posts: 148
My personal favorite is
Agile Software Development by Robert Martin.
[ January 07, 2007: Message edited by: Hung Tang ]
Ilja Preuss

Joined: Jul 11, 2001
Posts: 14112
Another good book on enterprise patterns is "Patterns of Enterprise Application Architecture", by Martin Fowler if I remember correctly.

It's a little bit more generic than J2EE patterns and has examples in Java and a few in C#.
Jeevan Philip
Ranch Hand

Joined: Nov 17, 2006
Posts: 41
One onf the most readable book for starters is HFDP

Though some OO purists may not fsvor some of the examples in the book !
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
Google for "THinking in Patterns". It's by Bruce Eckell who did "Thinking in Java". I think it's free online at his site. It covers GoF with Java examples, but at a quick glance I didn't think it added much more.
Pj Murray
Ranch Hand

Joined: Sep 24, 2004
Posts: 194
Check this out:

PJ Murray -
Bert Bates

Joined: Oct 14, 2002
Posts: 8898
I'd recommend that you wait to tackle the J2EE patterns until after you're comfortable with the basics of the GoF patterns. The J2EE patterns are largely built on the GoF patterns.

Spot false dilemmas now, ask me how!
(If you're not on the edge, you're taking up too much room.)
I agree. Here's the link:
subject: Best Design Pattern books
It's not a secret anymore!