# Controlled Variation

> The ability to let subclasses vary only the designated steps of a fixed algorithm.

Record: `lexicon:controlled-variation`
Kind: capability
Layer: [Design Patterns Core](https://banes-lab.com/records/layer/design-patterns-core.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-controlled-variation

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Centralized Interaction Logic](https://banes-lab.com/records/lexicon/centralized-interaction-logic.md) and before [Decoupled Notification](https://banes-lab.com/records/lexicon/decoupled-notification.md).

## Category

- [Behavioral Patterns](https://banes-lab.com/records/lexicon-category/behavioral-patterns.md)

## Enabled by

- [Template Method Pattern](https://banes-lab.com/records/architecture/template-method-pattern.md)

## Linked from

- [Behavioral Patterns](https://banes-lab.com/ontology/principles/architecture-category-behavioral-patterns.md)
