Libraries - gusenov/software-design-patterns GitHub Wiki

Creational patterns

Abstract factory

Builder

Dependency Injection

Factory method

Lazy initialization

Multiton

Object pool

C++

Unity

Prototype

Resource acquisition is initialization (RAII)

Singleton

Structural patterns

Adapter, Wrapper, or Translator

Bridge

Composite

Decorator

Extension object

Facade

Flyweight

Front controller

Marker

Module

Proxy

Twin

Behavioral patterns

Blackboard

Chain of responsibility

Command

Interpreter

Iterator

Mediator

Memento

Null object

Observer or Publish/subscribe

Servant

Specification

State

Strategy

Template method

Visitor

Fluent Interface

Concurrency patterns

Active Object

Balking

Binding properties

Compute kernel

Double-checked locking

Event-based asynchronous

Guarded suspension

Join

Lock

Messaging design pattern (MDP)

Monitor object

Reactor

Read-write lock

Scheduler

Thread pool

Thread-specific storage

Safe Concurrency with Exclusive Ownership

CPU atomic operation