βTerm | Meaning
Policy | A decision rule that changes depending on the situation. Discount policy, authorization policy, shipping fee policy β anything that answers "how should this be decided?"
Strategy | A swappable algorithm or policy. In the Strategy Pattern, a policy is extracted into an object so it can be replaced.
Logging | Recording what happened during execution. Used for incident analysis, auditing, and debugging.
Caching | Temporarily storing frequently used values in a nearby storage location. It is fast, but introduces cache invalidation problems.
Validation | Checking whether input values or state satisfy a set of rules. Comes up frequently in API requests, form inputs, and domain commands.
Renderer | The role of transforming data into an output form such as a screen, image, HTML, or PDF.
Storage | A place that holds data, such as a file system, database, or cache. Depending on context, it may refer to a physical storage medium or a storage abstraction.
External SDK | Libraries provided by payment processors, SMS gateways, or cloud vendors. If they spread directly into internal code, replacing them becomes difficult.
Legacy API | An API from an older system. It often has a mismatched interface with new code, making it a good candidate to wrap with an Adapter.
Cross-Cutting Concern | A concern that cuts across multiple features. Examples include logging, authorization checks, caching, metrics, and retry.
Domain | The business area the program addresses. For an online store, the domain includes orders, payments, shipping, and products.
DDD Model | A domain-centric model as described in Domain-Driven Design. It prioritizes business concepts and rules over database tables.
Entity | A domain object with an identifier and a lifecycle. Two objects with the same values are still different objects if their IDs differ.
Value Object | An object whose meaning lies in its value rather than its identity. Examples include money, coordinates, time periods, and email addresses.
DTO | Data Transfer Object. A data shape used for API responses or for crossing process boundaries.
Aggregate | A grouping of related Entities and Value Objects into a single consistency boundary. It typically serves as the unit of persistence for a Repository.
API Handler | An entry point that receives an HTTP request, validates it, and forwards it to the appropriate service or command.
Command Handler | An object or function that processes commands that cause state changes, such as "create order" or "withdraw member."
Middleware | A layer that intercepts requests and responses to handle common processing. Logging, authentication, CORS, and compression are common examples.
ORM | Object-Relational Mapping. A tool that maps between objects and relational database tables. It does not, however, mean you can ignore SQL.
RPC | Remote Procedure Call. A communication style in which a function across a network is called as if it were local.
Lock | A mechanism that locks a resource that would be corrupted by concurrent access. Examples include DB row locks, mutexes, and distributed locks.
Idempotency | The property of ensuring that sending the same request multiple times produces the same result as sending it once. Often seen alongside Retry.
Backoff | A strategy of progressively increasing the interval between retries, used to avoid hammering a system that is already experiencing failures.
Fallback | An alternative path used when the primary path fails. Examples include returning a cached value, sending a default response, or calling a backup server.
TTL | Time To Live. The duration a cache entry or token remains valid.
Stale data | Data that is no longer up to date. Caches often trade accepting stale data for improved speed.
Execution plan | The plan a database generates for how it will execute a SQL query. This is where it decides whether to use an index or perform a full table scan.
Transaction | Grouping multiple database operations within a single consistency boundary. It commits on success and rolls back on failure.
Structural Patterns
Pattern | Common use cases | One-line guidance
Composition | Policies, renderers, storage, validators | Look here first when inheritance hierarchies grow too deep
Strategy Pattern | Discounts, shipping fees, authorization, sorting, validation | When an algorithm or policy changes frequently
Adapter Pattern | External SDKs, payment processors, file storage, legacy APIs | When preventing an external interface from leaking into internal code
Facade Pattern | Order creation, member registration, payment completion processing | When a simple entry point is needed in front of a complex subsystem
Decorator Pattern | Logging, caching, authorization checks, metrics | When adding extra behavior without modifying the original object
+Term | Meaning
Policy | A decision rule that changes depending on the situation. Discount policy, authorization policy, shipping fee policy β anything that answers "how should this be decided?"
Strategy | A swappable algorithm or policy. In the Strategy Pattern, a policy is extracted into an object so it can be replaced.
Logging | Recording what happened during execution. Used for incident analysis, auditing, and debugging.
Caching | Temporarily storing frequently used values in a nearby storage location. It is fast, but introduces cache invalidation problems.
Validation | Checking whether input values or state satisfy a set of rules. Comes up frequently in API requests, form inputs, and domain commands.
Renderer | The role of transforming data into an output form such as a screen, image, HTML, or PDF.
Storage | A place that holds data, such as a file system, database, or cache. Depending on context, it may refer to a physical storage medium or a storage abstraction.
External SDK | Libraries provided by payment processors, SMS gateways, or cloud vendors. If they spread directly into internal code, replacing them becomes difficult.
Legacy API | An API from an older system. It often has a mismatched interface with new code, making it a good candidate to wrap with an Adapter.
Cross-Cutting Concern | A concern that cuts across multiple features. Examples include logging, authorization checks, caching, metrics, and retry.
Domain | The business area the program addresses. For an online store, the domain includes orders, payments, shipping, and products.
DDD Model | A domain-centric model as described in Domain-Driven Design. It prioritizes business concepts and rules over database tables.
Entity | A domain object with an identifier and a lifecycle. Two objects with the same values are still different objects if their IDs differ.
Value Object | An object whose meaning lies in its value rather than its identity. Examples include money, coordinates, time periods, and email addresses.
DTO | Data Transfer Object. A data shape used for API responses or for crossing process boundaries.
Aggregate | A grouping of related Entities and Value Objects into a single consistency boundary. It typically serves as the unit of persistence for a Repository.
API Handler | An entry point that receives an HTTP request, validates it, and forwards it to the appropriate service or command.
Command Handler | An object or function that processes commands that cause state changes, such as "create order" or "withdraw member."
Middleware | A layer that intercepts requests and responses to handle common processing. Logging, authentication, CORS, and compression are common examples.
ORM | Object-Relational Mapping. A tool that maps between objects and relational database tables. It does not, however, mean you can ignore SQL.
RPC | Remote Procedure Call. A communication style in which a function across a network is called as if it were local.
Lock | A mechanism that locks a resource that would be corrupted by concurrent access. Examples include DB row locks, mutexes, and distributed locks.
Idempotency | The property of ensuring that sending the same request multiple times produces the same result as sending it once. Often seen alongside Retry.
Backoff | A strategy of progressively increasing the interval between retries, used to avoid hammering a system that is already experiencing failures.
Fallback | An alternative path used when the primary path fails. Examples include returning a cached value, sending a default response, or calling a backup server.
TTL | Time To Live. The duration a cache entry or token remains valid.
Stale data | Data that is no longer up to date. Caches often accept stale data in exchange for speed.
Execution plan | The plan a database generates for how it will execute a SQL query. This is where it decides whether to use an index or perform a full table scan.
Transaction | Grouping multiple database operations within a single consistency boundary. It commits on success and rolls back on failure.
Structure and Composition Patterns
Pattern | Common use cases | One-line guidance
Composition | Policies, renderers, storage, validators | Look here first when inheritance hierarchies grow too deep
Strategy Pattern | Discounts, shipping fees, authorization, sorting, validation | When an algorithm or policy changes frequently
Adapter Pattern | External SDKs, payment processors, file storage, legacy APIs | When preventing an external interface from leaking into internal code
Facade Pattern | Order creation, member registration, payment completion processing | When a simple entry point is needed in front of a complex subsystem
Decorator Pattern | Logging, caching, authorization checks, metrics | When adding extra behavior without modifying the original object