# Split Abstraction

> A technique for dividing an abstraction that grew flags for each caller into abstractions that fit one use each.

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

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Restrict Global Mutation](https://banes-lab.com/records/lexicon/restrict-global-mutation.md) and before [Define Module Boundaries](https://banes-lab.com/records/lexicon/define-module-boundaries.md).

## Category

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

## Refactors

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

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
