# Extract Domain Model

> A technique for turning procedural steps over data into domain types that hold their own rules.

Record: `lexicon:extract-domain-model`
Kind: technique
Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)
Canonical: https://banes-lab.com/ontology/lexicon#lexicon-extract-domain-model

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Extract Use Case](https://banes-lab.com/records/lexicon/extract-use-case.md) and before [Extract Query Service](https://banes-lab.com/records/lexicon/extract-query-service.md).

## Category

- [Domain Architecture](https://banes-lab.com/records/lexicon-category/domain-architecture.md)

## Refactors

- [Transaction Script Sprawl](https://banes-lab.com/records/architecture/transaction-script-sprawl.md)
- [Domain-Driven Design](https://banes-lab.com/records/architecture/domain-driven-design.md)

## Linked from

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