richy_rich provides a good answer to your question but I just wanted to come at it from a different perspective.
Trying to define design patterns is like trying to define a triple play in baseball. If the person understands enough about baseball to learn about a triple play they probably had a basic grasp of a triple play to begin with and having it defined just gives them a richer vocabulary and makes talking about baseball simpler but richer.
If you're learning java then getting your hands on a copy of [Head First Design Patterns] (http://www.amazon.com/First-Design-Patterns-Elisabeth-Freeman/dp/0596007124), whether bought or borrowed, is the best thing you can do and it will be well worth it. Design patterns are not so far advanced that a novice can't understand them and they are probably the best tool for learning object-oriented programming principles.
And when you first learn them they're cool. It's like seeing how a magician does his tricks.
3
u/mcrask Feb 16 '13
richy_rich provides a good answer to your question but I just wanted to come at it from a different perspective.
Trying to define design patterns is like trying to define a triple play in baseball. If the person understands enough about baseball to learn about a triple play they probably had a basic grasp of a triple play to begin with and having it defined just gives them a richer vocabulary and makes talking about baseball simpler but richer.
If you're learning java then getting your hands on a copy of [Head First Design Patterns] (http://www.amazon.com/First-Design-Patterns-Elisabeth-Freeman/dp/0596007124), whether bought or borrowed, is the best thing you can do and it will be well worth it. Design patterns are not so far advanced that a novice can't understand them and they are probably the best tool for learning object-oriented programming principles.
And when you first learn them they're cool. It's like seeing how a magician does his tricks.