# Explicit Interfaces

> The requirement that a module interact only through declared interfaces, not its hidden internals.

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

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Contract Compatibility](https://banes-lab.com/records/lexicon/contract-compatibility.md) and before [Interface Definition](https://banes-lab.com/records/lexicon/interface-definition.md).

## Category

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

## Required 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)
