| Pattern | Category | Tags | | :--- | :--- | :--- | | [Abstract Document](abstract-document) | Structural | Extensibility | | [Abstract Factory](abstract-factory) | Creational | Gang of Four | | [Active Object](active-object) | Concurrency | Performance | | [Acyclic Visitor](acyclic-visitor) | Behavioral | Extensibility | | [Adapter](adapter) | Structural | Gang of Four | | [Aggregator Microservices](aggregator-microservices) | Architectural | Cloud distributed | | [Ambassador](ambassador) | Structural | Decoupling | | [API Gateway](api-gateway) | Architectural | Cloud distributed, Decoupling | | [Arrange/Act/Assert](arrange-act-assert) | Idiom | Testing | | [Async Method Invocation](async-method-invocation) | Concurrency | Reactive | | [Balking](balking) | Concurrency | Decoupling | | [Bridge](bridge) | Structural | Gang of Four | | [Builder](builder) | Creational | Gang of Four | | [Business Delegate](business-delegate) | Structural | Decoupling | | [Bytecode](bytecode) | Behavioral | Game programming | | [Caching](caching) | Behavioral | Performance | | [Callback](callback) | Idiom | Reactive | | [Chain of Responsibility](chain-of-responsibility) | Behavioral | Gang of Four | | [Circuit Breaker](circuit-breaker) | Behavioral | Performance, Decoupling | | [Cloud Static Content Hosting](cloud-static-content-hosting) | Cloud | Cloud distributed | | [Collection Pipeline](collection-pipeline) | Functional | Reactive | | [Combinator](combinator) | Idiom | Reactive | | [Command](command) | Behavioral | Gang of Four | | [Commander](commander) | Concurrency | Cloud distributed | | [Composite](composite) | Structural | Gang of Four | | [Composite Entity](composite-entity) | Structural | Enterprise Integration Pattern | | [Converter](converter) | Creational | Decoupling | | [Command Query Responsibility Segregation](command-query-responsibility-segregation) | Architectural | Performance, Cloud distributed | | [Data Access Object](data-access-object) | Architectural | Data access | | [Data Bus](data-bus) | Architectural | Decoupling | | [Data Locality](data-locality) | Behavioral | Performance, Game programming | | [Data Mapper](data-mapper) | Architectural | Decoupling | | [Data Transfer Object](data-transfer-object) | Architectural | Performance | | [Decorator](decorator) | Structural | Gang of Four, Extensibility | | [Delegation](delegation) | Structural | Decoupling | | [Dependency Injection](dependency-injection) | Creational | Decoupling | | [Dirty Flag](dirty-flag) | Behavioral | Performance, Game programming | | [Double Buffer](double-buffer) | Behavioral | Performance, Game programming | | [Double Checked Locking](double-checked-locking) | Idiom | Performance | | [Double Dispatch](double-dispatch) | Idiom | Extensibility | | [EIP Aggregator](eip-aggregator) | Integration | Enterprise Integration Pattern | | [EIP Message Channel](eip-message-channel) | Integration | Enterprise Integration Pattern | | [EIP Publish and Subscribe](eip-publish-and-subscribe) | Integration | Enterprise Integration Pattern | | [EIP Splitter](eip-splitter) | Integration | Enterprise Integration Pattern | | [EIP Wire Tap](eip-wire-tap) | Integration | Enterprise Integration Pattern | | [Event Aggregator](event-aggregator) | Structural | Reactive | | [Event Based Asynchronous](event-based-asynchronous) | Concurrency | Reactive | | [Event Driven Architecture](event-driven-architecture) | Architectural | Reactive | | [Event Queue](event-queue) | Concurrency | Game programming | | [Event Sourcing](event-sourcing) | Architectural | Performance | | [Execute Around](execute-around) | Idiom | Extensibility | | [Extension Objects](extension-objects) | Behavioral | Extensibility | | [Facade](facade) | Structural | Gang of Four, Decoupling | | [Factory](factory) | Creational | Gang of Four | | [Factory kit](factory-kit) | Creational | Extensibility | | [Factory Method](factory-method) | Creational | Gang of Four, Extensibility | | [Fan-Out/Fan-In](fanout-fanin) | Integration | Microservices | | [Feature Toggle](feature-toggle) | Behavioral | Extensibility | | [Filterer](filterer) | Functional | Extensibility | | [Fluent Interface](fluent-interface) | Functional | Reactive | | [Flux](flux) | Structural | Decoupling | | [Flyweight](flyweight) | Structural | Gang of Four, Performance | | [Front Controller](front-controller) | Structural | Decoupling | | [Game Loop](game-loop) | Behavioral | Game programming | | [Guarded Suspension](guarded-suspension) | Concurrency | Decoupling | | [Half-Sync Half-Async](half-sync-half-async) | Concurrency | Performance | | [Hexagonal](hexagonal) | Architectural | Decoupling | | [Intercepting Filter](intercepting-filter) | Behavioral | Decoupling | | [Interpreter](interpreter) | Behavioral | Gang of Four | | [Iterator](iterator) | Behavioral | Gang of Four | | [Layers](layers) | Architectural | Decoupling | | [Lazy Loading](lazy-loading) | Idiom | Performance | | [Leader Election](leader-election) | Behavioral | Cloud distributed | | [Leader Followers](leader-followers) | Concurrency | Performance | | [Lockable Object](lockable-object) | Concurrency | Performance | | [Marker Interface](marker-interface) | Structural | Decoupling | | [Master Worker](master-worker) | Concurrency | Performance | | [Mediator](mediator) | Behavioral | Gang of Four, Decoupling | | [Memento](memento) | Behavioral | Gang of Four | | [Model View Controller](model-view-controller) | Architectural | Decoupling | | [Model View Presenter](model-view-presenter) | Architectural | Decoupling | | [Model View ViewModel](model-view-viewmodel) | Architectural | Decoupling | | [Module](module) | Structural | Decoupling | | [Monad](monad) | Functional | Reactive | | [Monostate](monostate) | Creational | Instantiation | | [Multiton](multiton) | Creational | Instantiation | | [Mute Idiom](mute-idiom) | Idiom | Decoupling | | [Naked Objects](naked-objects) | Architectural | Decoupling | | [Null Object](null-object) | Behavioral | Extensibility | | [Object Mother](object-mother) | Creational | Instantiation | | [Object Pool](object-pool) | Creational | Performance, Game programming | | [Observer](observer) | Behavioral | Gang of Four, Reactive | | [Page Object](page-object) | Structural | Decoupling | | [Parameter Object](parameter-object) | Behavioral | Extensibility | | [Partial Response](partial-response) | Behavioral | Decoupling | | [Pipeline](pipeline) | Behavioral | Decoupling | | [Poison Pill](poison-pill) | Behavioral | Cloud distributed, Reactive | | [Presentation Model](presentation-model) | Behavioral | Decoupling | | [Priority Queue](priority-queue) | Behavioral | Decoupling | | [Private Class Data](private-class-data) | Idiom | Data access | | [Producer Consumer](producer-consumer) | Concurrency | Reactive | | [Promise](promise) | Concurrency | Reactive | | [Property](property) | Creational | Instantiation | | [Prototype](prototype) | Creational | Gang of Four, Instantiation | | [Proxy](proxy) | Structural | Gang of Four, Decoupling | | [Queue Based Load Leveling](queue-based-load-leveling) | Concurrency | Performance, Decoupling | | [Reactor](reactor) | Concurrency | Performance, Reactive | | [Reader Writer Lock](reader-writer-lock) | Concurrency | Performance | | [Registry](registry) | Creational | Instantiation | | [Repository](repository) | Architectural | Data access | | [Resource Acquisition Is Initialization](resource-acquisition-is-initialization) | Idiom | Data access | | [Retry](retry) | Behavioral | Performance | | [Role Object](role-object) | Structural | Extensibility | | [Saga](saga) | Concurrency | Cloud distributed | | [Semaphore](semaphore) | Concurrency | Performance | | [Separated Interface](separated-interface) | Structural | Decoupling | | [Servant](servant) | Behavioral | Decoupling | | [Serverless](serverless) | Architectural | Cloud distributed | | [Service Layer](service-layer) | Architectural | Data access | | [Service Locator](service-locator) | Architectural | Performance, Game programming | | [Sharding](sharding) | Behavioral | Performance, Cloud distributed | | [Singleton](singleton) | Creational | Gang of Four | | [Spatial Partition](spatial-partition) | Behavioral | Performance, Game programming | | [Special Case](special-case) | Behavioral | Extensibility | | [Specification](specification) | Behavioral | Data access | | [State](state) | Behavioral | Gang of Four | | [Step Builder](step-builder) | Creational | Instantiation | | [Strangler](strangler) | Structural | Cloud distributed, Extensibility | | [Strategy](strategy) | Behavioral | Gang of Four | | [Subclass Sandbox](subclass-sandbox) | Behavioral | Game programming | | [Table Module](table-module) | Structural | Data access | | [Template Method](table-module) | Behavioral | Gang of Four | | [Thread Pool](thread-pool) | Concurrency | Performance | | [Throttling](throttling) | Behavioral | Performance | | [Thread Local Storage](thread-local-storage) | Idiom | Performance | | [Tolerant Reader](tolerant-reader) | Integration | Decoupling | | [Trampoline](trampoline) | Behavioral | Performance | | [Transaction Script](transaction-script) | Behavioral | Data access | | [Twin](twin) | Structural | Extensibility | | [Type Object](type-object) | Behavioral | Game programming, Extensibility | | [Unit of Work](unit-of-work) | Architectural | Data access | | [Update Method](update-method) | Behavioral | Game programming | | [Value Object](value-object) | Creational | Instantiation | | [Version Number](version-number) | Concurrency | Data access, Microservices | | [Visitor](visitor) | Behavioral | Gang of Four |