Home
Software Design Patterns
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
Architecture Best Practices Object-Oriented Programming Software Engineering Design Patterns Gang of Four Creational Patterns Structural Patterns Behavioral 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 is a free online resource covering modern design, rendering, and performance patterns for building web applications. It covers JavaScript and React patterns includi...
0 classes · 25 properties
JSON-LD
Sources
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