wood burning stoves 2.0*
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
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Best Design Pattern books" Watch "Best Design Pattern books" New topic
Author

Best Design Pattern books

Harsh Ravindra Gupta
Greenhorn

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
    
    1

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


Cheers!

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

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 http://www.industriallogic.com/papers/learning.html

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
Greenhorn

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
Bartender

Joined: Dec 20, 2006
Posts: 2510
    
  10

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
youtube channel
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
author
Sheriff

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

http://www.oreilly.com/catalog/hfdesignpat/

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:

http://www.corej2eepatterns.com/


PJ Murray -
Bert Bates
author
Sheriff

Joined: Oct 14, 2002
Posts: 8883
    
    5
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.)
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: Best Design Pattern books