• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

which design pattern book?

 
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Ranch Hand
Posts: 782
Python Chrome Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 21
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 16
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
tumbleweed
Posts: 5089
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I suggest you have a look at this Books about Patterns
Godd luck
 
Ranch Hand
Posts: 168
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I like this book a lot.
http://www.phptr.com/corej2eepatterns/
 
author
Posts: 3892
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Johannes de Jong
tumbleweed
Posts: 5089
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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?
 
Ranch Hand
Posts: 527
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I heard GoF releasing a book with examples given in Java lang.
what are the best tools for reverse engr., Rose Vs.Together

Anil
 
Greenhorn
Posts: 13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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 ?
 
Greenhorn
Posts: 14
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Ranch Hand
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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.
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
 
Greenhorn
Posts: 11
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 3892
5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
Posts: 5089
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks Kyle. This weeks book giveaway is on my list .
 
Ranch Hand
Posts: 58
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 60
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 58
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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
 
reply
    Bookmark Topic Watch Topic
  • New Topic