| Pattern | Category | Tags | | :--- | :--- | :--- | | [Abstract Document](abstract-document) | Structural | Extensibility | | Abstract Factory|Creational|Gang of Four | | Active Object|Concurrency|Performance | | Acyclic Visitor|Behavioral|Extensibility | | Adapter|Structural|Gang of Four | | Aggregator Microservices|Architectural|Cloud distributed | | Ambassador|Structural|Decoupling | | API Gateway|Architectural|Cloud distributed, Decoupling | | Arrange/Act/Assert|Idiom|Testing | | Async Method Invocation|Concurrency|Reactive | | Balking|Concurrency|Decoupling | | Bridge|Structural|Gang of Four | | Builder|Creational|Gang of Four | | Business Delegate|Structural|Decoupling | | Bytecode|Behavioral|Game programming | | Caching|Behavioral|Performance | | Callback|Idiom|Reactive | | Chain of Responsibility|Behavioral|Gang of Four | | Circuit Breaker|Behavioral|Performance, Decoupling | | Cloud Static Content Hosting|Cloud|Cloud distributed | | Collection Pipeline|Functional|Reactive | | Combinator|Idiom|Reactive | | Command|Behavioral|Gang of Four | | Commander|Concurrency|Cloud distributed | | Composite|Structural|Gang of Four | | Composite Entity|Structural|Enterprise Integration Pattern | | Converter|Creational|Decoupling | | Command Query Responsibility Segregation|Architectural|Performance, Cloud distributed | | Data Access Object|Architectural|Data access | | Data Bus|Architectural|Decoupling | | Data Locality|Behavioral|Performance, Game programming | | Data Mapper|Architectural|Decoupling | | Data Transfer Object|Architectural|Performance | | Decorator|Structural|Gang of Four, Extensibility | | Delegation|Structural|Decoupling | | Dependency Injection|Creational|Decoupling | | Dirty Flag|Behavioral|Performance, Game programming | | Double Buffer|Behavioral|Performance, Game programming | | Double Checked Locking|Idiom|Performance | | Double Dispatch|Idiom|Extensibility | | EIP Aggregator|Integration|Enterprise Integration Pattern | | EIP Message Channel|Integration|Enterprise Integration Pattern | | EIP Publish and Subscribe|Integration|Enterprise Integration Pattern | | EIP Splitter|Integration|Enterprise Integration Pattern | | EIP Wire Tap|Integration|Enterprise Integration Pattern | | Event Aggregator|Structural|Reactive | | Event Based Asynchronous|Concurrency|Reactive | | Event Driven Architecture|Architectural|Reactive | | Event Queue|Concurrency|Game programming | | Event Sourcing|Architectural|Performance | | Execute Around|Idiom|Extensibility | | Extension Objects|Behavioral|Extensibility | | Facade|Structural|Gang of Four, Decoupling | | Factory|Creational|Gang of Four | | Factory kit|Creational|Extensibility | | Factory Method|Creational|Gang of Four, Extensibility | | Fan-Out/Fan-In|Integration|Microservices | | Feature Toggle|Behavioral|Extensibility | | Filterer|Functional|Extensibility | | Fluent Interface|Functional|Reactive | | Flux|Structural|Decoupling | | Flyweight|Structural|Gang of Four, Performance | | Front Controller|Structural|Decoupling | | Game Loop|Behavioral|Game programming | | Guarded Suspension|Concurrency|Decoupling | | Half-Sync Half-Async|Concurrency|Performance | | Hexagonal|Architectural|Decoupling | | Intercepting Filter|Behavioral|Decoupling | | Interpreter|Behavioral|Gang of Four | | Iterator|Behavioral|Gang of Four | | Layers|Architectural|Decoupling | | Lazy Loading|Idiom|Performance | | Leader Election|Behavioral|Cloud distributed | | Leader Followers|Concurrency|Performance | | Lockable Object|Concurrency|Performance | | Marker Interface|Structural|Decoupling | | Master Worker|Concurrency|Performance | | Mediator|Behavioral|Gang of Four, Decoupling | | Memento|Behavioral|Gang of Four | | Model View Controller|Architectural|Decoupling | | Model View Presenter|Architectural|Decoupling | | Model View ViewModel|Architectural|Decoupling | | Module|Structural|Decoupling | | Monad|Functional|Reactive | | Monostate|Creational|Instantiation | | Multiton|Creational|Instantiation | | Mute Idiom|Idiom|Decoupling | | Naked Objects|Architectural|Decoupling | | Null Object|Behavioral|Extensibility | | Object Mother|Creational|Instantiation | | Object Pool|Creational|Performance, Game programming | | Observer|Behavioral|Gang of Four, Reactive | | Page Object|Structural|Decoupling | | Parameter Object|Behavioral|Extensibility | | Partial Response|Behavioral|Decoupling | | Pipeline|Behavioral|Decoupling | | Poison Pill|Behavioral|Cloud distributed, Reactive | | Presentation Model|Behavioral|Decoupling | | Priority Queue|Behavioral|Decoupling | | Private Class Data|Idiom|Data access | | Producer Consumer|Concurrency|Reactive | | Promise|Concurrency|Reactive | | Property|Creational|Instantiation | | Prototype|Creational|Gang of Four, Instantiation | | Proxy|Structural|Gang of Four, Decoupling | | Queue Based Load Leveling|Concurrency|Performance, Decoupling | | Reactor|Concurrency|Performance, Reactive | | Reader Writer Lock|Concurrency|Performance | | Registry|Creational|Instantiation | | Repository|Architectural|Data access | | Resource Acquisition Is Initialization|Idiom|Data access | | Retry|Behavioral|Performance | | Role Object|Structural|Extensibility | | Saga|Concurrency|Cloud distributed | | Semaphore|Concurrency|Performance | | Separated Interface|Structural|Decoupling | | Servant|Behavioral|Decoupling | | Serverless|Architectural|Cloud distributed | | Service Layer|Architectural|Data access | | Service Locator|Architectural|Performance, Game programming | | Sharding|Behavioral|Performance, Cloud distributed | | Singleton|Creational|Gang of Four | | Spatial Partitiion|Behavioral|Performance, Game programming | | Special Case|Behavioral|Extensibility | | Specification|Behavioral|Data access | | State|Behavioral|Gang of Four | | Step Builder|Creational|Instantiation | | Strangler|Structural|Cloud distributed, Extensibility | | Strategy|Behavioral|Gang of Four | | Subclass Sandbox|Behavioral|Game programming | | Table Module|Structural|Data access | | Template Method|Behavioral|Gang of Four | | Thread Pool|Concurrency|Performance | | Throttling|Behavioral|Performance | | Thread Local Storage|Idiom|Performance | | Tolerant Reader|Integration|Decoupling | | Trampoline|Behavioral|Performance | | Transaction Script|Behavioral|Data access | | Twin|Structural|Extensibility | | Type Object|Behavioral|Game programming, Extensibility | | Unit of Work|Architectural|Data access | | Update Method|Behavioral|Game programming | | Value Object|Creational|Instantiation | | Version Number|Concurrency|Data access, Microservices | | Visitor|Behavioral|Gang of Four |