Terminology glossary
Short definitions intended for interview recall. Each term should eventually link to its deeper chapter.
| Term | Precise shorthand |
|---|---|
| Abstraction | A boundary exposing relevant behavior while hiding implementation decisions. |
| Aggregate | A DDD consistency boundary with one entry point, the aggregate root. |
| Cohesion | How strongly the responsibilities inside a module belong together. |
| Coupling | The degree to which one component depends on another’s existence or details. |
| Dependency injection | Supplying collaborators from outside an object instead of constructing or locating them internally. |
| Entity | An object defined primarily by identity and continuity, not only its attributes. |
| Idempotency | Repeating an operation has the same intended effect as performing it once. |
| Invariant | A condition that must remain true for a model or operation to be valid. |
| Isolation level | The database guarantees governing which concurrent transaction effects may be observed. |
| Late static binding | PHP’s static:: resolution against the runtime-called class rather than the declaring class. |
| Polymorphism | Different implementations satisfying the same usable contract. |
| Referential transparency | An expression can be replaced by its value without changing program behavior. |
| SRP | A module should group behavior that changes for the same reason; it is not “one method per class.” |
| Value object | An immutable concept defined by its values, equality rules and invariants rather than identity. |
| Variance | Rules governing how subtype relationships apply to parameter and return types. |