Design Patterns¶
Core Idea¶
Design Patterns are documented, reusable solutions to common design or architectural problems, capturing established best practices to streamline the creation of new products or systems.
How would you explain it like I'm…
Tricks that work again
Named solutions to common problems
Named Solutions to Recurring Problems
Broad Use¶
-
Software Engineering: "Singleton," "Observer," "Factory Method," etc. recognized as standard patterns to solve recurring coding challenges.
-
Architecture (Buildings): Classic patterns like "courtyard house," "open-plan office," or "atrium" for frequent spatial needs.
-
User Experience (UX): UI patterns like "hamburger menu," "infinite scroll," or "modal popup" employed consistently across apps.
Clarity¶
Shows that the same problem arises repeatedly in different projects. A well-documented pattern provides an off-the-shelf conceptual template, saving time and guiding consistent, proven solutions.
Manages Complexity¶
By referencing a pre-tested pattern rather than inventing from scratch, designers reduce trial-and-error— patterns encapsulate known trade-offs and typical constraints.
Abstract Reasoning¶
Demonstrates a template-based logic, where core solutions can be adapted to local specifics. This parallels the broader theme of "analogy" or "transfer of learning."
Knowledge Transfer¶
-
Education: Instructional design patterns (e.g., "flipped classroom," "Socratic seminar") that solve recurring teaching situations.
-
Business Processes: Known "organizational patterns" (like "matrix management," "kanban system") used in repeated contexts.
-
Creative Writing: Story archetypes or plot formulas (e.g., Hero's Journey) that provide a well-worn structure for narratives.
Example¶
A software developer uses the "Observer" pattern to manage UI updates when data changes, rather than writing custom code every time for each piece of data.
Relationships to Other Primes¶
Parents (1) — more general patterns this builds on
- Design Patterns is a decomposition of Abstraction — Design patterns is the specific shape abstraction takes when recurring solution structures are named and extracted for reuse across instances.
Path to root: Design Patterns → Abstraction
Not to Be Confused With¶
- Design Patterns is not Pattern (in Design) because it names a catalog of reusable, well-documented structural templates for specific design problems, whereas Pattern in Design refers to the broader concept of recurring structural forms.
- Design Patterns is not Design Prototyping because it captures proven solutions for known problem classes, whereas Design Prototyping is an exploratory and iterative process for validating design decisions.
- Design Patterns is not Design for Implementation because patterns are implementation-agnostic reusable templates, whereas Design for Implementation addresses constraints specific to a particular production environment.