master list of the most important patterns across software engineering 👇
- Monolithic Architecture
- Microservices Architecture
- Service-Oriented Architecture (SOA)
- Event-Driven Architecture (EDA)
- Layered (n-tier) Architecture
- Client-Server Architecture
- Peer-to-Peer (P2P)
- Serverless Architecture
- Hexagonal Architecture (Ports & Adapters)
- Clean Architecture
- Onion Architecture
- Microkernel Architecture (Plugin-based)
- Space-Based Architecture
- CQRS (Command Query Responsibility Segregation)
- Event Sourcing
- Singleton
- Factory Method
- Abstract Factory
- Builder
- Prototype
- Adapter
- Bridge
- Composite
- Decorator
- Facade
- Flyweight
- Proxy
- Observer (🔥 used in DOM events)
- Strategy
- Command
- Chain of Responsibility
- Mediator
- Memento
- State
- Template Method
- Visitor
- Interpreter
- Thread Pool
- Producer-Consumer
- Readers-Writers
- Fork-Join
- Actor Model
- Reactor Pattern (🔥 Node.js core)
- Proactor Pattern
- Futures & Promises
- Work Stealing
- Publish-Subscribe (Pub/Sub)
- Leader Election
- Circuit Breaker
- Bulkhead
- Saga Pattern
- API Gateway
- Service Discovery
- Distributed Cache
- Sharding
- Consistent Hashing
- Gossip Protocol
- MVC (Model-View-Controller)
- MVP (Model-View-Presenter)
- MVVM (Model-View-ViewModel)
- Flux
- Redux Pattern
- Component-Based Architecture
- Message Queue
- Enterprise Service Bus (ESB)
- Request-Reply
- Content-Based Routing
- Message Translator
- Message Broker
- Repository Pattern
- Unit of Work
- Data Mapper
- Active Record
- DAO (Data Access Object)
- Cache-Aside
- Write-Through Cache
- Write-Behind Cache
- Reactive Streams
- Backpressure Handling
- Event Streaming
- Dataflow Programming
- Authentication Pattern
- Authorization Pattern (RBAC, ABAC)
- OAuth Flow
- JWT Pattern
- Zero Trust Architecture
- Test-Driven Development (TDD)
- Behavior-Driven Development (BDD)
- Mocking
- Test Pyramid
- Domain-Driven Design (DDD)
- Aggregates
- Value Objects
- Anti-Corruption Layer
- Bounded Context
- Blue-Green Deployment
- Canary Release
- Rolling Deployment
- Infrastructure as Code
- Backend-for-Frontend (BFF)
- Edge Computing Pattern
- Jamstack
- Feature Toggles
- Strangler Fig Pattern