Skip to content

Design Patterns as Named Solutions

Patterns are named solutions to recurring problems in a context, providing shared vocabulary and proven structure without prescribing implementation.

Tension Addressed

YAGNI vs. Extensibility

Recognizable As

Creational patterns (abstracting instantiation), structural patterns (composing objects), behavioral patterns (distributing responsibility); pattern names in design discussions

Canonical Sources

Gamma et al., "Design Patterns" (1994); Alexander, "A Pattern Language" (1977)

Transfers To

Architecture Patterns, Enterprise Integration Patterns, UI Patterns, Concurrency Patterns

The value is threefold: shared vocabulary accelerates communication, patterns encode proven solutions to recurring problems, and pattern descriptions include applicability guidance (when NOT to use them).

Representative pattern concepts: - Strategy: Encapsulate interchangeable algorithms - Observer: Decouple event producers from consumers - Factory: Abstract object creation from usage - Adapter: Convert incompatible interfaces - Decorator: Add responsibilities dynamically