# Extract Class

> A technique for moving a cohesive group of fields and methods out of a class into a new class of their own.

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

Listed in [Lexicon terms](https://banes-lab.com/api/records/lexicon.md), after [Specialized Optimization](https://banes-lab.com/records/lexicon/specialized-optimization.md) and before [Extract Module](https://banes-lab.com/records/lexicon/extract-module.md).

## Category

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

## Refactors

- [God Object](https://banes-lab.com/records/architecture/god-object.md)
- [Divergent Change](https://banes-lab.com/records/architecture/divergent-change.md)
- [Single Responsibility Principle](https://banes-lab.com/records/architecture/single-responsibility.md)
- [High Cohesion](https://banes-lab.com/records/architecture/high-cohesion.md)

## Linked from

- [Anti-patterns](https://banes-lab.com/ontology/principles/architecture-category-anti-patterns.md)
- [Core Modular Design](https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md)
