Software Design Patterns logo

Software Design Patterns

Software design patterns are reusable solutions to commonly occurring problems in software design. Originally catalogued by the Gang of Four (GoF) in 1994, they include 23 patterns organized into Creational (Factory, Builder, Singleton, Prototype, Abstract Factory), Structural (Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy), and Behavioral (Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor, Interpreter) categories.

2 APIs 0 Features
ArchitectureBest PracticesObject-Oriented ProgrammingSoftware EngineeringDesign PatternsGang of FourCreational PatternsStructural PatternsBehavioral Patterns

APIs

Refactoring.Guru Design Patterns

Refactoring.Guru is a comprehensive catalog of software design patterns with examples in multiple programming languages. It covers all 23 Gang of Four patterns, enterprise patte...

Patterns.dev

Patterns.dev is a free online resource covering modern design, rendering, and performance patterns for building web applications. It covers JavaScript and React patterns includi...

Semantic Vocabularies

Software Design Patterns Context

0 classes · 25 properties

JSON-LD

Resources

🔗
Reference
Reference
🔗
Reference
Reference
🔗
Reference
Reference
🔗
Reference
Reference
🔗
Reference
Reference
🔗
JSONLDContext
JSONLDContext
🔗
Vocabulary
Vocabulary

Sources

apis.yml Raw ↑
aid: software-design-patterns
name: Software Design Patterns
description: >-
  Software design patterns are reusable solutions to commonly occurring problems
  in software design. Originally catalogued by the Gang of Four (GoF) in 1994,
  they include 23 patterns organized into Creational (Factory, Builder, Singleton,
  Prototype, Abstract Factory), Structural (Adapter, Bridge, Composite, Decorator,
  Facade, Flyweight, Proxy), and Behavioral (Chain of Responsibility, Command,
  Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor,
  Interpreter) categories.
url: https://raw.githubusercontent.com/api-evangelist/software-design-patterns/refs/heads/main/apis.yml
tags:
  - Architecture
  - Best Practices
  - Object-Oriented Programming
  - Software Engineering
  - Design Patterns
  - Gang of Four
  - Creational Patterns
  - Structural Patterns
  - Behavioral Patterns
created: '2026-05-02'
modified: '2026-05-02'
specificationVersion: '0.19'
apis:
  - aid: software-design-patterns:refactoring-guru
    name: Refactoring.Guru Design Patterns
    description: >-
      Refactoring.Guru is a comprehensive catalog of software design patterns
      with examples in multiple programming languages. It covers all 23 Gang of
      Four patterns, enterprise patterns, and provides code examples in Java,
      C#, Python, PHP, TypeScript, Go, and other languages.
    humanURL: https://refactoring.guru/design-patterns
    baseURL: https://refactoring.guru/
    tags:
      - Design Patterns
      - Gang of Four
      - Refactoring
      - Best Practices
      - Object-Oriented Programming
    properties:
      - type: Documentation
        url: https://refactoring.guru/design-patterns
      - type: Website
        url: https://refactoring.guru/
      - type: JSONSchema
        url: https://raw.githubusercontent.com/api-evangelist/software-design-patterns/refs/heads/main/json-schema/design-pattern-schema.json
      - type: JSONStructure
        url: https://raw.githubusercontent.com/api-evangelist/software-design-patterns/refs/heads/main/json-structure/design-pattern-structure.json

  - aid: software-design-patterns:patterns-dev
    name: Patterns.dev
    description: >-
      Patterns.dev is a free online resource covering modern design, rendering,
      and performance patterns for building web applications. It covers JavaScript
      and React patterns including Singleton, Observer, Module, Mixin, Mediator,
      Prototype, Command, Flyweight, Factory, and Compound patterns.
    humanURL: https://www.patterns.dev/
    baseURL: https://www.patterns.dev/
    tags:
      - JavaScript
      - React
      - Web Development
      - Design Patterns
      - Performance Patterns
    properties:
      - type: Documentation
        url: https://www.patterns.dev/
      - type: Website
        url: https://www.patterns.dev/

common:
  - type: Reference
    url: https://refactoring.guru/design-patterns
  - type: Reference
    url: https://www.patterns.dev/
  - type: Reference
    url: https://www.gofpattern.com/
  - type: Reference
    url: https://springframework.guru/gang-of-four-design-patterns/
  - type: Reference
    url: https://en.wikipedia.org/wiki/Design_Patterns
  - type: JSONLDContext
    url: https://raw.githubusercontent.com/api-evangelist/software-design-patterns/refs/heads/main/json-ld/software-design-patterns-context.jsonld
  - type: Vocabulary
    url: https://raw.githubusercontent.com/api-evangelist/software-design-patterns/refs/heads/main/vocabulary/software-design-patterns-vocabulary.yml