SWP · Archivio
Vol. XXVI
A catalogue of software patterns, by language.
Definitions and per-language specimens for the recurring shapes of working software — design patterns, anti-patterns, and architectural conventions, drawn from canonical sources and from practice. Pull requests welcome on Github.
anti_pattern
01 entryarchitectural
31 entries- 012 Anti-Corruption Layer
- 013 API Composition
- 014 API Gateway
- 034 Clean Architecture
- 035 Client-Server
- 036 Cluster-based Architecture
- 042 Config Server
- 046 Convention over Configuration
- 051 Database per Service
- 066 Event-Driven Architecture
- 069 Externalized Configuration
- 078 Flux
- 087 Health Check Endpoint
- 088 Hexagonal Architecture
- 092 Immutable Infrastructure
- 099 Layered Architecture
- 118 Microkernel
- 119 Microservices
- 122 Monolith
- 125 MVP
- 126 MVVM
- 127 N-Tier
- 131 Onion Architecture
- 132 Open Host Service
- 161 Redux
- 176 Self-Contained Systems
- 180 Service-Oriented Architecture (SOA)
- 185 Shared-Nothing
- 186 Sidecar
- 190 Space-Based Architecture
- 208 Twelve-Factor App
architecture
01 entrybehavioral
116 entries- 002 Access Token
- 007 Adapter Container
- 010 Aggregator
- 011 Ambassador
- 015 Application Controller
- 016 Application Service
- 017 Backend for Frontend
- 018 Balking
- 019 Blackboard
- 022 Branch by Abstraction
- 027 Cache Aside
- 028 Callback
- 029 Canary Release
- 031 Chain of Responsibility
- 032 Circuit Breaker
- 033 Class Table Inheritance
- 037 Command
- 041 Concrete Table Inheritance
- 043 Conformist
- 044 Content-Based Router
- 048 CQRS
- 049 Customer-Supplier
- 050 Data Mapper
- 052 Dead Letter Queue
- 056 Distributed Cache
- 061 DSL
- 062 Durable Subscriber
- 064 Event Sourcing
- 065 Event-Carried State Transfer
- 067 Expand-Contract
- 068 Extension Object
- 073 Fail Fast
- 074 Fallback
- 075 Feature Toggle
- 077 Fluent Interface
- 081 Front Controller
- 082 Future
- 085 Guarded Suspension
- 086 Half-Sync/Half-Async
- 089 HMVC
- 090 Idempotent Receiver
- 091 Identity Map
- 094 Inbox Pattern
- 097 Interpreter
- 098 Iterator
- 101 Lazy Load
- 102 Leader-Follower
- 105 Log Aggregation
- 106 Map-Reduce
- 107 Master-Slave
- 108 Materialized View
- 109 Mediator
- 110 Memento
- 111 Message Broker
- 112 Message Bus
- 113 Message Channel
- 114 Message Dispatcher
- 115 Message Filter
- 116 Message Router
- 124 MVC
- 128 Null Object
- 133 Outbox Pattern
- 134 PAC
- 135 Page Controller
- 136 Parallel Change
- 137 Partnership
- 139 Pipeline
- 140 Pipes and Filters
- 141 Plug-in
- 142 Point-to-Point Channel
- 143 Policy
- 144 Presentation Model
- 145 Proactor
- 146 Process Manager
- 148 Projection
- 149 Promise
- 152 Publish-Subscribe
- 153 Publish-Subscribe Channel
- 154 Published Language
- 155 Query Object
- 156 Rate Limiting
- 157 Reactor
- 159 Read-Through Cache
- 164 Request-Reply
- 165 Resequencer
- 166 Retry with Backoff
- 168 Rolling Deployment
- 169 Routing Slip
- 172 Saga (Choreography)
- 174 Scheduler
- 175 Scheduler-Agent-Supervisor
- 177 Service Discovery
- 178 Service Locator
- 181 Shadow Deployment
- 183 Shared Database
- 187 Single Table Inheritance
- 189 Snapshot
- 191 Specification
- 192 Splitter
- 193 State
- 194 Store-and-Forward
- 195 Strangler Fig
- 196 Strategy
- 197 Strategy Registry
- 198 Supervising Presenter
- 199 Supervisor-Worker
- 203 Template View
- 205 Timeout
- 206 Transactional Consumer
- 207 Transactional Outbox
- 210 Unit of Work
- 212 View Helper
- 213 View Store
- 214 Visitor
- 216 Write-Behind Cache
- 217 Write-Through Cache