# Move Logic to the Domain

> A technique for moving business rules out of controllers, services and scripts into the domain objects they govern.

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

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Map to Domain Model](https://banes-lab.com/records/lexicon/map-to-domain-model.md) and before [Extract Use Case](https://banes-lab.com/records/lexicon/extract-use-case.md).

## Category

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

## Refactors

- [Feature Envy](https://banes-lab.com/records/architecture/feature-envy.md)
- [Anemic Domain Model](https://banes-lab.com/records/architecture/anemic-domain-model.md)
- [Transaction Script Sprawl](https://banes-lab.com/records/architecture/transaction-script-sprawl.md)
- [Fat Controller](https://banes-lab.com/records/architecture/fat-controller.md)
- [Repository Dump](https://banes-lab.com/records/architecture/repository-dump.md)
- [Domain Model](https://banes-lab.com/records/architecture/domain-model.md)
- [Clean Architecture](https://banes-lab.com/records/architecture/clean-architecture.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)
- [Codebase / System Architecture Styles](https://banes-lab.com/ontology/principles/architecture-category-codebase-system-architecture-styles.md)
