# Replace Conditional with Polymorphism

> Replacing a branching conditional on type with polymorphic dispatch through a shared interface.

Record: `lexicon:replace-conditional-with-polymorphism`
Kind: technique
Layer: [Extensibility Core](https://banes-lab.com/records/layer/extensibility-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-replace-conditional-with-polymorphism

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Self-Registration](https://banes-lab.com/records/lexicon/self-registration.md) and before [Conventions](https://banes-lab.com/records/lexicon/conventions.md).

## Category

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

## Enabled by

- [Dynamic Dispatch](https://banes-lab.com/records/architecture/dynamic-dispatch.md)

## Linked from

- [Runtime Discovery / Dynamic Binding](https://banes-lab.com/ontology/principles/architecture-category-runtime-discovery-dynamic-binding.md)
- [SOLID / Object-Oriented Design](https://banes-lab.com/ontology/principles/architecture-category-solid-object-oriented-design.md)
