POSIX filesystem interface: open,
read, write, close — four
operations that have abstracted every storage medium from magnetic tape
to NVMe SSDs for fifty years. Implementations vary enormously; the
interface has not changed. This is the canonical example of a stable,
well-bounded abstraction.
JDBC (Java Database Connectivity): A standard
interface for relational databases. Write once against
Connection, Statement, ResultSet;
run against MySQL, PostgreSQL, or Oracle. Leakage appears in SQL
dialects (the abstraction does not cover query language) and in
connection pool errors (implementation-specific failure modes surface
through the generic interface).
Kubernetes API: kubectl apply submits a
desired state manifest. The control plane — which may run on any cloud
or on bare metal — reconciles reality toward that state. Callers know
nothing about the underlying infrastructure. The abstraction is so
successful that the same manifest deploys to AWS, GCP, or an on-premises
cluster.
HTTP: The protocol abstracts TCP. Callers speak HTTP methods and status codes; they do not manage TCP handshakes or retransmission. Leakage occurs at connection limits, timeout configurations, and keep-alive behaviour — TCP details that surface under load.
Concept: Abstraction and Interfaces Thread: T10 (Encoding) ← Book 1, Ch 9 (Hashing as data abstraction) → Ch 17 (API Design and Versioning) Core Idea: An abstraction hides irrelevant complexity behind a stable interface; callers depend on the interface, not the implementation, so implementations can change independently. Tradeoff: AT8 — Coupling/Cohesion: the interface reduces coupling to the implementation but creates coupling to itself; change the interface and every caller and implementor must change. Failure Mode: FM8 — Schema/Contract Violation: interfaces that change without coordination, or that leak implementation details, break callers at the boundary. Signal: When changing a subsystem requires changing callers that should not care about implementation details, the abstraction is either missing or leaking. Maps to: Reference Book, Framework 8 (Patterns)