aspose file tools*
The moose likes OO, Patterns, UML and Refactoring and the fly likes which design pattern book? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "which design pattern book?" Watch "which design pattern book?" New topic
Author

which design pattern book?

Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
I'd like to learn design patterns, but am having trouble selecting a book. I've heard alot about Design Patterns by Gamma et al, as well as the Core J2EE Patterns. And I'm sure there are lots of other great books out there.
I'm looking for something that's intermediate level. I'm fairly familiar with OOAD, and don't want to spend too much time on beginner background material. Also, I'm focusing on Java programming, and not C++. So, would it make sense to go with a book like Design Patterns whose examples are all in C++, as opposed to one that focuses on patterns in the Java world.
Any advice would me very much appreciated.
-Miftah
Pho Tek
Ranch Hand

Joined: Nov 05, 2000
Posts: 761

Try Mark Grand's Catalog book which I referred to in my other post. There was another book called "Java(tm) Design Patterns: A Tutorial" by William Cooper - but it got some bad reviews on Amazon.com. But I believe a draft of the book is now available on the web somewhere. GoF book is just too abstract for my liking. And no UML.
Pho

Regards,

Pho
Tim Blommerde
Greenhorn

Joined: Sep 24, 2001
Posts: 21
Dear Miftah Khan,
To be honest, I haven't read much books on Design Patterns, but for as far as I know, there's one Design Patterns book that's the source of all other Design Patterns books. It dates back to 1995 I believe and contains all Design Patterns a seasoned software engineer should know. It's called 'Design Patterns: Elements of Reusable Object-Oriented Software' and was written by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides.
Though it's not focused on Java, in my humble opinion, it's still a book that every self-respecting Java Designer should have on his bookshelf. It contains the basic Design Patterns and together with a more Java and Enterprise orientated book it should provide all the information you'd ever need.
Best regards,
Tim
Andrew Ao
Greenhorn

Joined: Sep 10, 2001
Posts: 16
I would still suggest the design pattern book by GoF. although the examples are given in C++, I think the idea is the patterns of different objects collaborate together to solve common problem.
if you would like to see examples in java, i would suggest pattern in java. i read the one by william cooper, but i personally don't like it at all.
of course, j2ee pattern is a must for j2ee apps.
-aao
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
I suggest you have a look at this Books about Patterns
Godd luck
Michael Fitzmaurice
Ranch Hand

Joined: Aug 22, 2001
Posts: 168
I think the GoF book is the definitive, seminal work in this area, but it is quite hard going for relatively inexperienced OO designers in my opinion (and you could argue that we are the very people who need the book the most).
I have a copy of "Java Design Patterns" by William Cooper, it's okay, less abstract than the GoF book and with concrete examples in Java. It does have a few typos in code snippets, which is a bit worrying, but on the whole is worth a read. I still find the need to read some of the material over and over to get some understanding, but suspect that this is quite normal.
At a more introductory level, there is a book that came out quite recently called "Design Patterns Explained" by Alan Shalloway and James Trott. I read it for about 1.5 hours in the bookshop, it seems very good. I would say definitely read this BEFORE approaching the GoF book. Also, if it comes down to a choice between this book and Cooper, I would say buy this one.
I also have a book called "From Data Structures to Patterns" by Darryl Ince. As the name suggests, it covers a lot of material on traditional data structures, but shifts focus towards how these fit into modern OO design and covers about 8 or so of the GoF patterns in a very readable manner. The coverage of design patterns is very good - I found it gave me a more immediate grasp of a couple of them than reading the corresponding chapters in Cooper.
If you feel quite confident in OO and are looking for the quickest and most accessible entry into patterns, I would recommend the Shalloway book first, followed by GoF at a later date.
Hope this helps.
Michael
------------------
"One good thing about music - when it hits, you feel no pain"
Bob Marley


"One good thing about music - when it hits, you feel no pain" <P>Bob Marley
wessel zaalberg
Greenhorn

Joined: Jul 27, 2001
Posts: 26
I like this book a lot.
http://www.phptr.com/corej2eepatterns/
Kyle Brown
author
Ranch Hand

Joined: Aug 10, 2001
Posts: 3892
    
    5
I would like to mention that the two (Excellent) books mentioned above, Design Patterns (Gamma, et. al.) and Core J2EE Patterns (Alur, et. al.) are aimed at TOTALLY different levels of abstraction. It's not "which one do I choose" but in fact to build J2EE systems you truly need both.
Design Patterns gives you a vocabulary for understanding how do do modular OO design in general. It contains a basic set of principles that you need to grasp regardless of whether you are using J2EE or not. However, J2EE has its own set of basic principles that are specific to the problem space and the API sets. That is what Core J2EE patterns gives you.
I would strongly suggest (as I do to all my customers) that you buy both books.
------------------
Kyle Brown,
Author of Enterprise Java (tm) Programming with IBM Websphere


Kyle Brown, Author of Persistence in the Enterprise and Enterprise Java Programming with IBM Websphere, 2nd Edition
See my homepage at http://www.kyle-brown.com/ for other WebSphere information.
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
Kyle great to see your still around .
We have "Design Patterns" here at work and yes maybe its a great book but heck I've tried reading it twice and had a hard time staying awake. It's also my general impression that books about patterns are very dry and difficult to understand.
I get the feeling that they mostly are of value once you've worked on a few OO projects. Then you get the "light" going off. "Hey I/we had the same "problem" in our project".
Is that correct?
Anil Vupputuri
Ranch Hand

Joined: Oct 31, 2000
Posts: 527
I heard GoF releasing a book with examples given in Java lang.
what are the best tools for reverse engr., Rose Vs.Together

Anil

SCJP 1.5, SCEA, ICED (287,484,486)
Ruby V
Greenhorn

Joined: Sep 27, 2001
Posts: 13
Has anyone read the book "Patterns in Java Volume 1: a Catalog of Reusable Design Patterns Illustrated With Uml" by Mark Grand.
It has an OK review in Half.com.
James C
Greenhorn

Joined: Sep 18, 2001
Posts: 6
I really like Craig Larman's book, "Applying UML ..." Sorry, Craig! It's can be a bit dry; I just purchased "Core J2EE Patterns." It seems good as well.

Jim
Duksun Choi
Greenhorn

Joined: Jun 12, 2001
Posts: 7
Hi all.
As I know, each specific design pattern is different from each different languages.
In terms of Java design pattern, what's the basic principle design pattern currently ? Is it also depending on the specific project ?
Burkhardt Hufnagel
Greenhorn

Joined: May 08, 2001
Posts: 14
Here's the link to download a copy of "Java(tm) Design Patterns: A Tutorial" by William Cooper. I hope this helps!
http://www.patterndepot.com/put/8/DesignJavaPDF.ZIP


TANSTAAFL
Pete Cassetta
Greenhorn

Joined: Feb 13, 2001
Posts: 23
I'm surprised nobody mentioned Bruce Eckel's Thinking in Patterns with Java. It's at this URL:
http://www.mindview.net/Books/TIPatterns/
It's still a work in progress, and unfortunately I haven't read it so I can't offer an opinion. But Bruce is one of the clearest writers I've encountered (he's the author of Thinking in Java), so I think this (free) book is worth a look.
Alan Shalloway
Ranch Hand

Joined: Sep 26, 2001
Posts: 60
I've gotten several questions on Javaranch in different topics about our book, so I put a post that I am referring to under the topic: "Design Patterns Explained: what it's about"
There are also 3 chapters in the book you can find by looking further in the topic.


Alan Shalloway.<BR>Look for Jim Trott and my book: <A HREF="http://www.amazon.com/exec/obidos/ASIN/0201715945/ref=ase_electricporkchop/103-0514572-3811868" TARGET=_blank rel="nofollow">Design Patterns Explained</A><BR>Visit our site <A HREF="http://www.netobjectives.com" TARGET=_blank rel="nofollow">Net Objectives</A>.<BR>Visit our <A HREF="http://www.netobjectives.com/dpexplained/index.html" TARGET=_blank rel="nofollow">Design Patterns Explained Community of Practice</A><BR>Check out our <A HREF="http://www.netobjectives.com/xml/xml_cdrom_info.htm" TARGET=_blank rel="nofollow">CDROM based audio training in XML</A>
Anonymous
Ranch Hand

Joined: Nov 22, 2008
Posts: 18944
Wow! Thank you everyone for your replies!
I've also found a copy of The Design Patterns Java Companion, by James W. Cooper. Has anyone read this?
-Miftah
Mike Whitehorne
Greenhorn

Joined: Jul 17, 2001
Posts: 11
Core J2EE Patterns: Best Practices and Design Strategies is not bad but no source code. Much of this can be found on the Sun Java site.
Ruby V
Greenhorn

Joined: Sep 27, 2001
Posts: 13
As posted by Burkhardt Hufnagel "Java(tm) Design Patterns: A Tutorial" by William Cooper can be downloaded from the website http://www.patterndepot.com/put/8/DesignJavaPDF.ZIP
This book is simple and good for beginners but surely not the greatest available in the market. However, I have been able to implement decorater ,builder and factory patterns quite successfully after reading this book
Ruby
Kyle Brown
author
Ranch Hand

Joined: Aug 10, 2001
Posts: 3892
    
    5
Originally posted by Johannes de Jong:
Kyle great to see your still around .
We have "Design Patterns" here at work and yes maybe its a great book but heck I've tried reading it twice and had a hard time staying awake. It's also my general impression that books about patterns are very dry and difficult to understand.
I get the feeling that they mostly are of value once you've worked on a few OO projects. Then you get the "light" going off. "Hey I/we had the same "problem" in our project".
Is that correct?

Johonnes,
Maybe you should try reading my older book "The Design Patterns Smalltalk Companion" (http://www.amazon.com/exec/obidos/ASIN/0201184621/qid=1002075596/sr=1-3/ref=sr_1_3_3/104-8409287-1399159). A lot of Java programmers have said that the "light went on" only when they read my book to "explain" what the heck the GOF were saying
Or, take a look at this week's featured book, which also contains "light bulb" experiences.
Kyle

------------------
Kyle Brown,
Author of Enterprise Java (tm) Programming with IBM Websphere
Johannes de Jong
tumbleweed
Bartender

Joined: Jan 27, 2001
Posts: 5089
Thanks Kyle. This weeks book giveaway is on my list .
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Miftah,
I have used GoF and browsed thru some others (specifically those with "Java" and "Patterns" both in their title). Personally, I did not like anything better than this:
Applying UML and Patterns by Craig Larman.
It would be with you for as long as OOAD lives because he talk about Pattern fundamentals. Absolute bare minimum principles that make up even the GoF patterns. Now that every one is creating patterns with different names, you would be on good grounds if you learnt the fundamentals from Larman's book and recognize the motivations behind various patterns. He calls them the GRASP principles and explains most of the famous patterns as being made up of these fundamental building blocks. Larman's book is phenomenal as it also describes where Patterns and UML fit in the whole process.
It is sad to see that Larman's book is categorized primarily as a UML book and not a Patterns book. Nobody except James discussed it here in this thread!
Enough said. Now, go to a bookstore, pick up GoF book and Larman's book, and any other book on patterns. Go with your heart.
Hope it helps
Sanjeev
Alan Shalloway
Ranch Hand

Joined: Sep 26, 2001
Posts: 60
Forgot to mention one of my favorite books that I haven't seen posted here. It's Peter Coad's Java Design. This is a must read, in my opinion, for all java developers. It's the best design book i've seen anywhere, but is, of course, only useful for java developers. He doesn't talk about patterns in the book, but he uses their principles. I buy a copy for each of my new employees (along with a copy of my own book of course Actually, while I'm at it (I can anticipate the question now i'll list some of my favorite books:
UML Distilled
XP Explained
Refactoring
------------------
Alan Shalloway,
Look for Jim Trott and my book: Design Patterns Explained
Visit our site Net Objectives.
Visit our on-line companion to the book
Sanjeev Arya
Ranch Hand

Joined: Feb 13, 2001
Posts: 58
Originally posted by Alan Shalloway:
... Actually, while I'm at it (I can anticipate the question now i'll list some of my favorite books:
UML Distilled
XP Explained
Refactoring

Alan, thanks for reminding ...
I have just updated my dream collection and revived that low-lying thread in this forum. Take a look, all the books you mentioned here, are present in that brief list of 7 books! I polled people in this forum, then visited bookstores and compiled a hit-list. If it ever grows bigger than, say 10, I would take UML Distilled away .
regards
Sanjeev
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: which design pattern book?