Design based anti-patterns
- Programming to concrete classes rather than abstractions
- Coupling logic like logging and security in code - Aspect Oriented Programming (AOP) can be used to prevent this
Development based anti-patterns
- The blob
- Poltergeists
- Walking through a minefield
- Cut and paste programming
- Continuous Obsolescence
- Lava flow
- Ambiguous viewpoint
- Functional decomposition
- Boat anchor
- Dead end
- Spaghetti code
- Mushroom management
- Golden Hammer
- Input Kludge
Architecture based anti-patterns
- Reinventing the wheel
- Vendor lock in