# Leaky Abstraction

> An abstraction that forces callers to understand its underlying implementation to use it correctly.

Record: `lexicon:leaky-abstraction`
Kind: anti-pattern
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-leaky-abstraction

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Implementation-Specific Contracts](https://banes-lab.com/records/lexicon/implementation-specific-contracts.md) and before [Mixed Layers](https://banes-lab.com/records/lexicon/mixed-layers.md).

## Category

- [Core Modular Design](https://banes-lab.com/records/lexicon-category/core-modular-design.md)

## Negated by

- [Information Hiding](https://banes-lab.com/records/architecture/information-hiding.md)

## Linked from

- [Core Modular Design](https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md)
