One of the things that I have read at many places is that understanding and using design patterns is one of the best ways to go to next rung in the hierarchy of developers.
I don't want to be overwhelmed either, so what are some of the absolute must-know design patterns for every good developer?
There's also the Template Method, where subclasses can override without changing the overall algorithm. But it's important to know that design patterns are only useful when they're applicable in a certain situation. Every developer should know where to look when they're faced with a situation where a design pattern could help, but I wouldn't say any pattern is an absolute must-know. All depends on what you run into.
Jan Vladimir Mostert
Idea Incubator
Factories, Builders, Singleton, Observer, Proxy, Iterator, Chain of responsibility, Decorator, Facade
I think those are the ones I've seen most.