Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Best Java Design Pattern Book

 
bryan nelson
Ranch Hand
Posts: 95
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Greetings,

I'm hoping to advance my understanding of some time-tested Java design patterns and am looking for the best resource to do so.

So here's the question:

If you were trapped on a desert island with Wi-fi access, a laptop, and one Design Patterns book...what would that one book be?

Thanks for everyone's advice!
 
Jimmy Clark
Ranch Hand
Posts: 2187
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It seems like you are not clearly understanding the concept of object-oriented design patterns. There are no patterns that are specific for the Java programming language. Object-oriented design patterns can be implemented with any object-based programming language. They are design ideas that concern a variety of common design problems and/or requirements. By themselves, they are not solutions and they can all be implemented in many different ways. The authors of any software design book are only sharing their opinions. And these opinions typically are bound by the author's personal experience and perspective. The opinions are neither correct or incorrect.

There is no "single", "best" book. To truly get a good understanding of object-oriented design patterns, the student must (1) read, study and understand many books written by many authors, and (2) apply a variety of patterns multiple times in the context of "something significant" over a period of time.

A good understanding should come when you have actually implemented the patterns at least three or four times for different applications. Note, this is not the same activity as reading three or four web pages about design patterns.

An expert-level understanding will only come when you have done the above for many, many years, e.g. 10 or more.

Good luck on your deserted island
 
Bert Bates
author
Sheriff
Posts: 8898
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey Jimmy,

I think Bryan asked a perfectly fine question, and you didn't actually answer it, you kind of changed the subject. Your opinion is of course, just fine, but it's off topic...

carry on...

 
Mohamed Sanaulla
Saloon Keeper
Posts: 3159
33
Google App Engine Java Ruby
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I found Head First Design Patterns really useful and easy to learn and understand the patterns with good examples . There's one more book- Design Patterns: Elements of Reusable Object-Oriented Software recommended by lot of people. The former is best to start with and the latter can be used for a quick reference when ever you need to refresh the patterns.
 
bryan nelson
Ranch Hand
Posts: 95
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks Mohamed (& Bert),

It's interesting that you bring those two books up. So far I've found that almost everyone recommends one of those. I know that Design Patterns by the "Gang of Four" is considered to be one of the classics. But I also know that many people, like yourself, recommend starting with Head First Design Patterns.

I've also heard this one mentioned: Patterns of Enterprise Application Architecture. Is anyone familiar with it?

Thanks for the discussion.
 
Ran Pleasant
Ranch Hand
Posts: 76
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
bryan nelson wrote:I've also heard this one mentioned: Patterns of Enterprise Application Architecture. Is anyone familiar with it?


Yes, it is a very good book (anything by Martin Fowler is good). Also look at the books by Robert C. Martin. Craig Larman also has a set of basic patterns in his books that should play a part in most of your development.
 
Mohamed Sanaulla
Saloon Keeper
Posts: 3159
33
Google App Engine Java Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
bryan nelson wrote:
I've also heard this one mentioned: Patterns of Enterprise Application Architecture. Is anyone familiar with it?


From what I glanced on Amazon, its specific to the Enterprise applications. So you can pick one based on your requirements.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic