Pattern Glossary
Browse 60 pattern terms defined in plain English, from the cultural dictionary of computing.
60 Pattern Terms
- ABAC
- Attribute-Based Access Control -- an authorization model where access decisions are based on attributes of the user (department, clearance), resource...
- Adapter Pattern
- A structural design pattern that makes incompatible interfaces work together by wrapping one interface in a class that implements the expected interface. Like...
- Aggregate
- A cluster of domain objects (entities and value objects) that are treated as a single unit for data changes. The aggregate root is the only entry point —...
- Anti-Corruption Layer
- A translation layer between two systems (or bounded contexts) that prevents one system's model from corrupting another's. Translates between different domain...
- API Composition
- A pattern where a service (or API gateway) queries multiple microservices and combines the results into a single response. Replaces cross-service database...
- API Gateway Pattern
- A pattern where a single entry point (the gateway) handles cross-cutting concerns for all backend services: authentication, rate limiting, request routing,...
- Backend for Frontend
- A pattern where each frontend client (web, mobile, TV) has its own dedicated backend service that aggregates, transforms, and tailors API responses for that...
- Backoff
- A retry strategy where the delay between attempts increases (typically exponentially) after each failure. Prevents overwhelming a recovering service with a...
- Backpressure
- A flow control mechanism where a slow consumer signals an upstream producer to slow down, preventing buffer overflow and memory exhaustion. Without...
- Builder Pattern
- A creational design pattern that constructs complex objects step by step through a fluent API, separating construction from representation. Especially useful...
- Circuit Breaker
- A design pattern that prevents an application from repeatedly trying to execute an operation that's likely to fail, giving the failing service time to recover....
- Clean Architecture
- An architectural pattern (by Robert C. Martin) with concentric layers where dependencies point inward: Entities (business rules) → Use Cases (application...
- Connection Pooling
- Maintaining a cache of reusable database connections instead of opening a new connection for each request. Dramatically reduces latency (TCP handshakes, TLS...
- Consumer Group
- A set of consumers that cooperatively consume a Kafka topic, with each partition assigned to exactly one consumer in the group. Adding consumers (up to the...
- CQRS
- Command Query Responsibility Segregation — separating the read model (queries/views) from the write model (commands/mutations). Commands validate and modify...
- CQRS
- Command Query Responsibility Segregation — separating read and write operations into different models. Writes go to one optimized store; reads come from...
- CTE
- Common Table Expression — a named temporary result set defined within a SQL statement using the WITH clause. Makes complex queries readable by breaking them...
- Dead Letter Queue
- A special queue where messages that can't be processed (after exceeding retry limits) are stored for later analysis instead of being discarded. Prevents poison...
- Debounce
- A technique that delays execution of a function until a specified period of inactivity has passed. Each new trigger resets the timer. Commonly used for...
- Event-Driven Architecture
- A design paradigm where the flow of the program is determined by events — user actions, sensor outputs, messages from other services. Components publish events...
- Event Sourcing
- An architectural pattern where state changes are stored as an immutable sequence of events rather than just the current state. The current state is derived by...
- Factory Pattern
- The Factory pattern is a creational design pattern that delegates object creation to a dedicated method or class rather than using direct constructors. The...
- Feature Toggle
- A runtime configuration switch that enables or disables a feature without deploying new code. Categories: release toggles (gradual rollout), experiment toggles...
- Finite State Machine
- A computational model with a finite number of states, transitions between them triggered by inputs, and defined start/accept states. Used to model parsers, UI...
- GraphQL Fragment
- A reusable piece of a GraphQL query that defines a set of fields on a specific type. Fragments eliminate field duplication across queries and mutations, and in...
- Hexagonal Architecture
- An architectural pattern (also called Ports and Adapters) where business logic is isolated at the center, communicating with the outside world through defined...
- Idempotency Key
- A unique token sent with an API request to ensure that retrying the same operation produces the same result without side effects. Critical for payment APIs and...
- Idempotent Pipeline
- A data pipeline that produces the same output regardless of how many times it's run with the same input. Achieved through techniques like UPSERT/MERGE,...
- Immutable Deploy
- A deployment model where servers are never updated in place — instead, a new machine image (AMI, Docker image) is built with the new code and replaces the old...
- Inbox Pattern
- The consumer-side counterpart of the outbox pattern: incoming messages are first stored in an inbox table (with deduplication by message ID), then processed....
- Init Container
- A specialized container in a Kubernetes pod that runs to completion before the main application containers start. Used for setup tasks like waiting for a...
- Islands Architecture
- A web architecture pattern where most of the page is static HTML, with small 'islands' of interactive components that are independently hydrated. Reduces...
- Leader Election
- A coordination pattern in distributed systems where nodes agree on a single leader responsible for a specific task (e.g., writes, scheduling). If the leader...
- Load Shedding
- A resilience strategy where a system intentionally drops or rejects excess requests during overload to protect core functionality. Unlike rate limiting...
- Long Polling
- A technique where the client sends an HTTP request and the server holds it open until new data is available (or a timeout expires), then responds. The client...
- Medallion Architecture
- A data organization pattern with three layers: Bronze (raw ingestion, no transformation), Silver (cleaned, deduplicated, conformed), and Gold (aggregated,...
- Observer Pattern
- The Observer pattern is a behavioral design pattern where an object (the subject) maintains a list of dependents (observers) and notifies them automatically...
- Optimistic Update
- A UI pattern where the interface immediately reflects a state change before the server confirms it, rolling back if the server request fails. Makes the app...
- Outbox Pattern
- A pattern for reliable event publishing in microservices: instead of directly publishing to a message broker (which can fail independently of the database),...
- Partial Application
- Fixing some arguments of a function to produce a new function with fewer parameters. Unlike currying (which transforms f(a,b,c) into f(a)(b)(c)), partial...
- Pub/Sub
- Pub/Sub (Publish/Subscribe) is a messaging pattern where senders (publishers) emit events to named topics without knowing who receives them, and receivers...
- RBAC
- Role-Based Access Control -- an authorization model where permissions are assigned to roles (admin, editor, viewer), and users are assigned roles. Simplifies...
- Regex
- Regular Expression -- a pattern language for matching, searching, and manipulating text. Supported by virtually every programming language and tool (grep, sed,...
- Repository Pattern
- A design pattern that mediates between domain logic and data mapping layers, providing a collection-like interface for accessing domain objects. The repository...
- Saga Pattern
- A pattern for managing distributed transactions across multiple services by breaking them into a sequence of local transactions, each with a compensating...
- Selector
- A pattern used to match and target elements — in CSS for styling, in Objective-C for method dispatch, or in state management libraries for deriving computed...
- Sidecar
- A helper container deployed alongside the main application container in the same pod, providing supporting functionality like logging, proxying, or service...
- Sliding Window
- An algorithmic technique that maintains a window (subarray/substring) that slides through data, expanding or contracting to find optimal solutions. Fixed-size...
- Slowly Changing Dimension
- A data warehousing technique for tracking how dimension attributes change over time. Type 1 overwrites the old value, Type 2 adds a new row with version dates...
- State Machine
- A computational model where a system exists in exactly one of a finite set of states at any time, transitioning between states in response to events according...
- Strangler Fig Pattern
- A migration strategy where a new system is built incrementally around an existing legacy system, gradually replacing its functionality until the old system can...
- Strategy Pattern
- A behavioral design pattern that encapsulates interchangeable algorithms behind a common interface, letting the client switch strategies at runtime. Eliminates...
- Thread Pool
- A collection of pre-created worker threads that process tasks from a shared queue. Eliminates the overhead of creating/destroying threads per request (which...
- Throttle
- A technique that limits function execution to at most once per specified time interval, regardless of how many times it's triggered. Unlike debounce (which...
- Tombstone
- A marker indicating that a record has been deleted, used instead of physically removing data. Common in distributed databases (Cassandra, DynamoDB) and...
- Upsert
- An atomic operation that inserts a row if it doesn't exist or updates it if it does, based on a unique key. Eliminates race conditions between separate SELECT...
- Watermark
- A mechanism in stream processing that tracks progress in event time, declaring that no more events with timestamps before the watermark will arrive. Enables...
- Webhook vs. Polling
- Two approaches to getting updates: polling (repeatedly asking 'anything new?') vs. webhooks (getting called when something happens). Polling is simpler;...
- Windowing
- Dividing an infinite data stream into finite chunks for aggregation. Tumbling windows are fixed, non-overlapping intervals (every 5 minutes). Sliding windows...
- Write-Ahead Log
- A durability technique where changes are first written to an append-only log before being applied to the main data structure. If the system crashes mid-write,...
Related Topics
- Architecture (12 terms in common)
- Design (8 terms in common)
- Frontend (6 terms in common)
- Performance (6 terms in common)
- Distributed (5 terms in common)
- Streaming (4 terms in common)
- Reliability (4 terms in common)
- Resilience (4 terms in common)
- Database (4 terms in common)
- Data (4 terms in common)
- Api (3 terms in common)
- Microservices (3 terms in common)
- Integration (3 terms in common)
- Oop (3 terms in common)
- Sql (2 terms in common)
- Infrastructure (2 terms in common)
- Kubernetes (2 terms in common)
- Ddd (2 terms in common)
- Messaging (2 terms in common)
- Access Control (2 terms in common)