Glossary: Software Design Patterns
Using one favorite tool, such as a factory or class hierarchy, for every problem.
Anti-patternOver-engineering