Information Hiding
Definition
Information hiding encapsulates variable implementation decisions behind stable module boundaries.
A module should make other parts of a system dependent only on the necessary interface, not on internal data structures or decisions. This limits changes locally.
Simply explained
How to operate a device via control buttons without other components needing to know its internal wiring.
Why it matters in practice
Fundamental for maintainable software, APIs, and integrations with low coupling.
Example from business
A CRM adapter provides a stable customer interface while the specific API provider remains internally interchangeable.
Limits and pitfalls
- Equating information hiding with mere access restriction; leaking internal details in return values; creating modules that are too large.
Origin & history
In 1972, David Parnas formulated an influential criterion for module decomposition based on design decisions to be hidden.
Use in mid-sized companies
- Possible applications: API layers, integration adapters, domain modules, and interchangeable infrastructure.
Frequently asked questions
Is information hiding the same as encapsulation?
Related, but information hiding emphasizes the design decisions and dependencies to be hidden. Why important? Changes propagate less widely.
Sources
- On the Criteria to Be Used in Decomposing Systems into Modules · Parnas (1972), On the Criteria to Be Used in Decomposing Systems into Modules
Sources checked on 10.10.2026.
Editorially reviewed on: