# Interface Definition

> The requirement that an abstraction expose a defined interface separate from its implementation.

Record: `lexicon:interface-definition`
Kind: constraint
Layer: [Structural Core](https://banes-lab.com/records/layer/structural-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-interface-definition

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Explicit Interfaces](https://banes-lab.com/records/lexicon/explicit-interfaces.md) and before [Stable Semantics](https://banes-lab.com/records/lexicon/stable-semantics.md).

## Category

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

## Required by

- [Abstraction](https://banes-lab.com/records/architecture/abstraction.md)

## Linked from

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