# Compile-Time Binding

> Fixing at build time which implementation a call uses or how components are wired together, so neither can vary or be discovered at runtime.

Record: `lexicon:compile-time-binding`
Kind: anti-pattern
Layer: [Extensibility Core](https://banes-lab.com/records/layer/extensibility-core.md)
Aliases: Early Binding, Static Wiring, Static Linking
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-compile-time-binding

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Closed Static Core](https://banes-lab.com/records/lexicon/closed-static-core.md) and before [Hardcoded Endpoints](https://banes-lab.com/records/lexicon/hardcoded-endpoints.md).

## Category

- [Runtime Discovery / Dynamic Binding](https://banes-lab.com/records/lexicon-category/runtime-discovery-dynamic-binding.md)

## Negated by

- [Runtime Discovery](https://banes-lab.com/records/architecture/runtime-discovery.md)
- [Dynamic Binding](https://banes-lab.com/records/architecture/dynamic-binding.md)

## Linked from

- [Runtime Discovery / Dynamic Binding](https://banes-lab.com/ontology/principles/architecture-category-runtime-discovery-dynamic-binding.md)
