Skip to content

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.