I want to learn Design Patterns. I am planning to buy the HFDP book. But my friend is telling HFDP is having only Java Design Patterns and they don't cover J2EE Design Patterns.
How Java Design Pattern differ from J2EE Design Patter? First of all, I have to ge the basic ideas in Design Pattern. Can I say, If I am learning Java Design Pattern, then J2EE Pattern learning curve will be easy?
What is GoF pattern? And also I want to know how many patters are there in Java and J2EE? Who are developers/developing new Patterns and whether new patterns will keep on growing..?
SCJP 1.4 (86%), SCWCD 1.4 (86%), SCBCD 1.3 (85%), SCDJWS (Just Started...) - Satisfaction Lies in Our EFFORT, Not in the ATTAINMENT
Micheal, HFDP is a good starting point. You are correct that they cover Java patterns and not J2EE patterns. However, it is important to know Java design patterns first as the J2EE patterns build on them.
Learning J2EE patterns is easy once you know Java patterns and J2EE.
GoF (gang of four) patterns are famous patterns. The important ones are covered in HFDP.
There is a potentially unlimited number of patterns. The idea is to know the estabilished/common ones and have the ability to understand relevant ones as needed.
Originally posted by Jeanne Boyarsky: ... HFDP is a good starting point...
I agree. HFDP is the place to start. Consider this required reading.
I would add that you can download Bruce Eckel's Thinking in Patterns with Java for free. Note that this is a work "in progress" (and I don't get the sense it will be completed any time soon), and it doesn't provide the detailed explanations that Head First does, but I think the code examples are helpful.
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
I just want to add two points to what already has been said.
1) The HFDP patterns aren't really "Java Patterns". HFDP covers a selection of the GoF patterns, and shows their implementation in Java. (The patterns themselves are more or less language neutral.)
2) The GoF patterns really are much more important than the J2EE patterns. They are very generic OO patterns that can be (and get) used in any OO system. The J2EE patterns are much more specific (some people say they are in fact just workarounds to the shortcomings of J2EE) - and many of them are in fact specializations of the GoF patterns.
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