Interface¶
Core Idea¶
A defined boundary mediating interaction between two systems, exposing some aspects while hiding others according to a contract. An interface adds to a simple boundary by specifying both asymmetric visibility and an interaction protocol.
How would you explain it like I'm…
Where Two Things Meet
Meeting Place With Rules
Contracted Boundary
Cross-Domain Echoes¶
See how this entry connects to another domain.
- Create a handoff without merging the two sides
- A message can arrive without its meaning
- Accepting an input does not mean relaxing every rule
Broad Use¶
- Engineering design: mechanical interfaces (threaded connections), electrical pinouts, thermal boundaries.
- Software engineering: APIs (application programming interfaces), communication protocols, application binary interfaces (ABIs).
- Biology: cell membranes mediating chemical exchange, organism-environment interfaces structuring energy and information flow.
- Human-computer interaction: user interfaces exposing affordances, hiding system complexity.
- Organizational management: department-to-department coordination protocols, cross-functional touchpoints.
Clarity¶
Names the pattern where two systems interact through a contract: what gets exposed, what remains hidden, what signals cross the boundary, and what guarantees hold. Distinguishes from a mere boundary (which only delimits) by emphasizing contractual asymmetry and structured interaction.
Manages Complexity¶
Allows each system to evolve independently as long as it honors the interface contract. Isolates internal implementation details from external dependents. Bounds reasoning: you need not understand both systems fully, only the interface between them.
Abstract Reasoning¶
Shifts focus from systems to the contract that couples them. Encourages thinking about what must be shared, what can remain private, and what happens when the interface changes or breaks. Surfaces the tension between expressiveness (exposing capability) and stability (hiding volatility).
Knowledge Transfer¶
The same structural pattern applies to electrical connector standards, programming language bindings, ecosystem predator-prey signaling, and departmental communication workflows. Design principles from one domain—versioning, backward compatibility, failure modes—transfer naturally to others.
Example¶
A USB port is an interface: it specifies a physical connector shape, voltage levels, and signal timing, but hides the internal wiring of both the device and the port. A software API specifies callable functions and return types, hiding the algorithm and data structures beneath. A cell membrane controls what enters and exits the cell, hiding the biochemistry within. Each mediates interaction through an explicit contract.
Relationships to Other Abstractions¶
Current abstraction Interface Prime
Parents (1) — outgoing typed relations
-
Interface is a decomposition of Boundary Prime
An interface is the specific shape boundary takes when it adds an explicit contract specifying what crosses, what is hidden, and what guarantees hold on each side.
Children (32) — abstractions linked here by typed relations
-
Distributed Object Domain-specific is a kind of Interface
Distributed Object strictly instantiates prime:interface.
-
Flat memory model Domain-specific is a kind of Interface
The model is literally a stable rule-governed surface between software address formation and hidden storage organization; its one-dimensional address identity and exclusion of constitutive bank or segment context provide the architecture-specific residual.
-
Foreign function interface Domain-specific is a kind of Interface
An FFI is an interface contract allowing code across programming-language and calling-convention boundaries to interoperate.
-
Graphical User Interface Domain-specific is a kind of Interface
A GUI is a bounded visual user–system interface with exposed controls, action conventions, feedback, and hidden software internals.
-
Interface (computing) Domain-specific is a kind of Interface
The candidate is a domain realization of a shared interaction boundary.
- Matrix-Free Methods Domain-specific is a kind of Interface
**Interface** is the strict parent through composition with numerical iteration.
- Networked Transport of RTCM via Internet Protocol Domain-specific is a kind of Interface
**Interface** is the strict parent because NTRIP defines the boundary through which independently implemented sources, casters, and clients discover, request, and exchange streams.
- Type signature Domain-specific is a kind of Interface
What makes it its own entry: the domain-specific identity determined by the declaration is interpreted under a named type system and unambiguously constrains the entity’s accepted inputs, produced outputs, polymorphism, effects, and calling convention as applicable.
- User interface Domain-specific is a kind of Interface
User interface instantiates Interface because it is a bounded, rule-governed exchange surface that exposes selected system state and accepts control while hiding internal implementation.
- Input/output Prime is a kind of Interface
The accepted reference-grade review places Input/output under Interface because the child instantiates or depends on the parent's broader structure while retaining its own constitutive identity.
- Adsorption Domain-specific presupposes Interface
Adsorption requires a distinct surface phase across which bulk molecules partition and at which finite binding sites and surface chemical potential exist.
- Distributed shared memory Domain-specific includes Interface
Every DSM programming model contains a bounded shared-data access interface that hides its distributed implementation behind declared operation and visibility rules.
- Exit Status Domain-specific presupposes Interface
Exit Status presupposes Interface: the parent's defining role is necessary to the child's frozen mechanism or criterion.
- Interface segregation principle Domain-specific presupposes Interface
Interface segregation presupposes a rule-governed dependency surface whose exposed contract can be compared with each client's actual use.
- Open Innovation Domain-specific includes Interface
Open Innovation makes the firm's boundary operational through governed interfaces for inbound and outbound knowledge flow.
- Partitioned Global Address Space Domain-specific includes Interface
Every PGAS programming model contains a bounded access interface that declares eligible remote data, visible locality, operations, and their effects.
- Performance-Enhancing Proxy Domain-specific presupposes Interface
A Performance-Enhancing Proxy presupposes an Interface because it interposes stable endpoint-facing contracts while modifying traffic between them.
- Remote Procedure Call Domain-specific includes Interface
Every RPC contains a declared caller-to-callee operation interface governing arguments, binding, dispatch, and outcome interpretation.
- Software Component Domain-specific presupposes Interface
A software component's component role requires a declared interaction surface separating capability, hidden implementation, and dependencies.
- Variadic Function Domain-specific includes Interface
Every variadic callable contains a rule-governed caller–callee argument interface that exposes its variable positional contract while leaving body operations behind that surface.
- Wettability Domain-specific includes Interface
Wettability contains the solid–liquid–vapor contact interface whose surface energies and geometry define contact angle and spreading regime.
- Abstract Data Type Prime presupposes Interface
An ADT 'includes the interface but is richer' — a behavioural contract (interface signatures PLUS invariants/laws) with a conformance relation and substitutability guarantee.
- Asymmetric Interface Tolerance Prime presupposes Interface
Asymmetric Interface Tolerance presupposes Interface, whose structure must already obtain for the child mechanism to be meaningful or operational.
- Boundary Disclosure Card Prime presupposes, typical Interface
A Boundary Disclosure Card typically presupposes the producer-consumer reuse interface at which its standardized facts must be encountered.
- Containerization Prime presupposes Interface
'a standardized published interface is one of containerization's named ingredients'; containerization uses an interface but adds dependency-bundling, standardization of external form, and substrate-blind handling.
- Contract Prime presupposes, conditional Interface
When a distinct modular interface exists, a contract governing duties across it presupposes that interface; other enforceable contracts need not contain such a surface.
Condition / exception A distinct bounded interface exists between the parties or systems, with a stable exposed protocol, some hidden implementation, and independent internal change within that protocol; the contract governs duties and remedies concerning that interface.
- Control / Data Channel Confusion Prime presupposes, typical Interface
An in-band-signalling FLAW of a contracted boundary where control and data share a substrate; presupposes an interface (the meeting point) whose control/data separation is marked by content not construction.
- Data-Control Plane Breach Prime presupposes, typical Interface
A failure mode at the contracted meeting point where content arriving through an interface is re-interpreted from data into control; presupposes an interface (the stage on which the breach occurs).
- Interface Mismatch Prime includes Interface
A rule-governed exchange surface is the internal locus at which an interface mismatch's offered and required contracts fail to align.
- Platform Design Prime includes Interface
Standardized interfaces are internal constituents of platform design, exposing stable contracts through which independent extensions connect to the core.
- Side Effect Prime presupposes Interface
Side Effect presupposes Interface, whose structure must already obtain for the child mechanism to be meaningful or operational.
- Access URL Domain-specific is a decomposition of Interface
Removing data-publishing machinery from an access endpoint leaves a stable, rule-governed exchange surface that hides the provider behind a contract.
Hierarchy path (1) — routes to 1 parentless root
- Interface → is a decomposition of Boundary
Not to Be Confused With¶
- Interface is not Protocol because an interface is the specification of methods and their signatures for interaction, whereas a protocol is the sequence and rules for exchange of messages; an interface defines what operations are available, a protocol defines when and how they are used.
- Interface is not Abstraction because an interface is the exposed boundary of an object or system, whereas abstraction is the conceptual activity of identifying essential features and hiding details; interfaces are tools that can implement abstraction, but abstraction is a broader cognitive principle.
- Interface is not API (Application Programming Interface) because API is a specific implementation of an interface with defined endpoints, formats, and methods, whereas interface is the abstract specification of interaction points; an API realizes an interface in concrete, deployed form.