Scrutinizing the role and use of design patterns

Patterns Manifesto:

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”.

6 Likes