We had another geeks lunch on tuesday. We discussed a number of topics but focussed mainly on design patterns.
Some of the observations we made are the following.
The most overused design pattern : Singleton. With the remark that a singleton should only be used when you need to keep state in your object internally.
You shouldn’t care about design patterns until you figured out a couple yourself. This is a bit the chicken or the egg question because you would have to know the design patterns in order to know that you are using one.
Lot’s of programmers get by without the patterns although the solutions may not look as elegant. Design patterns are in no way a silver bullet for creating quality software they just help you solve problems in a predictable way.
One of the ways suggested to start adopting these patterns is to write code that works first and then refactor it to use the patterns.
Next I’d like to list a bunch of resources/books that were mentioned during this discussion:
Thanks to Bevan Arps for this list of books:
Design Patterns (Gang of Four)
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
ISBN 0 204 63361 2
Refactoring - Improving the Design of Existing Code
ISBN 0 204 48567 2
Analysis Patters - Reusable Object Models
ISBN 0 201 89542 0
Refactoring to Patterns
ISBN 0 321 21335 1
Ivan Towlson has put up a blog post listing the books that he remembered.
And here are some urls that hold some information on design patterns.
del.icio.us tags: Lunch with geeks