We are uncovering better ways of developing software by seeing how others have already done it.
Kevlin Henney
Patterns are an aggressive disregard of originality.
Brian Foote
IMO too many “pattern consumers” have very selective memories. Each pattern catalog entry has multiple sections:
- Intent
- Also Known As
- Motivation
- Applicabitity
- Structure
- Participants
- Colloaboration
- Consequences
- Implementation
- Known Uses
- Related Patterns
Before applying a pattern it is crucial to understand the full implications of the “Applicability” and “Consequences” sections as use case constraints could easily turn a pattern into an anti-pattern.
Patterns aren’t gold standards. They merely record “this approach has worked for us when we faced this particular problem within our specific context”.