Skip to content
gof-patterns logo

GoF Design Patterns Reference

gof-patterns

Gang of Four design patterns reference. Use this skill when implementing, discussing, or choosing object-oriented design patterns. Auto-activates for architecture decisions, refactoring, and decoupling concerns. Comprehensive coverage of all 23 GoF patterns with pseudocode examples.

SKILL.md

Full skill instructions

GoF Design Patterns Reference

A comprehensive reference for the Gang of Four design patterns. This skill provides language-agnostic guidance with pseudocode examples that can be translated to any programming language.

When This Skill Activates

This skill automatically activates when you:

  • Ask about or need to implement a design pattern
  • Need to choose between patterns for a design problem
  • Are refactoring code and considering structural improvements
  • Discuss architecture, decoupling, or extensibility
  • Mention specific patterns: factory, singleton, observer, decorator, etc.

Quick Pattern Reference

Creational Patterns (Object Creation)

PatternIntentUse When
Abstract FactoryCreate families of related objectsNeed platform/​theme independence
BuilderConstruct complex objects step-by-stepObject has many optional parts
Factory MethodLet subclasses decide which class to instantiateDon't know concrete types ahead of time
PrototypeClone existing objectsObject creation is expensive
SingletonEnsure single instanceNeed exactly one shared instance

Structural Patterns (Composition)

PatternIntentUse When
AdapterConvert interface to expected interfaceIntegrating incompatible interfaces
BridgeSeparate abstraction from implementationNeed to vary both independently
CompositeTreat individual and groups uniformlyHave tree structures
DecoratorAdd responsibilities dynamicallyNeed flexible extension
FacadeSimplified interface to subsystemComplex subsystem needs simple API
FlyweightShare common state efficientlyMany similar objects needed
ProxyControl access to objectNeed lazy loading, access control, logging

Behavioral Patterns (Communication)

PatternIntentUse When
Chain of ResponsibilityPass request along handler chainMultiple handlers, unknown which handles
CommandEncapsulate request as objectNeed undo, queue, or log operations
InterpreterDefine grammar and interpret sentencesHave a simple language to parse
IteratorSequential access without exposing internalsNeed to traverse collections
MediatorCentralize complex communicationsMany objects communicate in complex ways
MementoCapture and restore object stateNeed undo/​snapshot functionality
ObserverNotify dependents of state changesOne-to-many dependency
StateAlter behavior when state changesObject behavior depends on state
StrategyEncapsulate interchangeable algorithmsNeed to swap algorithms at runtime
Template MethodDefine skeleton, let subclasses fill inAlgorithm structure fixed, steps vary
VisitorAdd operations without changing classesNeed to add many operations to stable structure

Decision Guide

See Pattern Selection Guide for help choosing the right pattern.

How to Use This Reference

  1. Choosing a pattern: Start with the decision guide or tables above
  2. Learning a pattern: Read the full documentation with examples
  3. Quick reminder: Use the tables above for at-a-glance reference
  4. Implementation: Follow the pseudocode, adapt to your language

Language Translation Notes

The pseudocode in this reference uses these conventions:

  • class for type definitions
  • function for methods/​functions
  • -> for method calls on objects
  • // for comments
  • Type hints shown as name: Type

Translate to your language:

  • PHP: class, function, ->, //, type hints in docblocks or PHP 8+
  • JavaScript/​TypeScript: class, function/​arrow, ., //, TS types
  • Python: class, def, ., #, type hints
  • Java/​C#: Direct mapping with new, generics

Based on concepts from "Design Patterns: Elements of Reusable Object-Oriented Software" by Gamma, Helm, Johnson, and Vlissides (Gang of Four), 1994.

More skills from majiayu000

xiaohongshu logo
majiayu000/claude-arsenal

xiaohongshu

xiaohongshu

286 148
View
agent-task-conductor logo
majiayu000/claude-skill-registry

agent-task-conductor

Conduct multi-agent task orchestration and workflow coordination.

663 1
View
conductor-setup logo
majiayu000/claude-skill-registry

conductor-setup

Initialize project with Conductor artifacts (product definition,

663 1
View
animation-designer logo
majiayu000/claude-skill-registry

animation-designer

Expert in web animations, transitions, and motion design using Framer Motion and CSS

663 1
View
diagramming logo
majiayu000/claude-skill-registry

diagramming

Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...

663 1
View
h3-pg logo
majiayu000/claude-skill-registry-data

h3-pg

PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.

23 1
View
conductor-development logo
majiayu000/claude-skill-registry

conductor-development

Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...

663 1
View
conductor-status logo
majiayu000/claude-skill-registry

conductor-status

Display project status, active tracks, and next actions

663 1
View
dockerization logo
majiayu000/claude-skill-registry

dockerization

Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.

663 1
View

Popular AI tools

Kaiber logo
Video

Kaiber

Generate, edit, and beat-sync AI video with leading models in one workspace.

Paid
View
Vimcal logo
Productivity

Vimcal

The world's fastest calendar for remote work

Free
View

Transform Your Design with AI Designer by ImgCreator.ai

Freemium
View
Akool AI logo
Content & writing

Akool AI

Revolutionizing Video Production with AI-Powered Creativity

Paid
View

Extend an image past the frame and let AI fill the new aspect ratio.

Freemium
View
StarByFace logo
Security

StarByFace

Discover your celebrity doppelgänger with StarByFace!

Free
View
C

ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.

Freemium
View
Opus Clip logo
Coding & apps

Opus Clip

Opus.ai: Revolutionize Your Web Experience

Free
View