# Entity

> A design pattern that models a domain object by a stable identity, which stays the same while its attributes change.

Record: `architecture:entity`
Kind: pattern
Layer: [Domain Modeling](https://banes-lab.com/records/layer/domain-modeling.md)
Severity: contextual
Scope: domain, identity, lifecycle
Canonical: https://banes-lab.com/ontology#architecture-entity

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Value Object](https://banes-lab.com/records/architecture/value-object.md) and before [Domain Service](https://banes-lab.com/records/architecture/domain-service.md).

## Repair

- Refactored by: Model Identity Explicitly
- Detected by: equality by field value where identity is meant
- Violated by: identity equated by attribute comparison
- Measured by: attribute-equality misuse count
- Enforced by: domain model review

## Requires

- [Stable Identity](https://banes-lab.com/records/lexicon/stable-identity.md)

## Reinforces

- [Domain Model](https://banes-lab.com/records/architecture/domain-model.md)
- [Encapsulation](https://banes-lab.com/records/architecture/encapsulation.md)

## Enables

- [Identity-Based Equality](https://banes-lab.com/records/lexicon/identity-based-equality.md)
- [Lifecycle Tracking](https://banes-lab.com/records/lexicon/lifecycle-tracking.md)

## Conflicts with

- [Anemic Domain Model](https://banes-lab.com/records/architecture/anemic-domain-model.md)

## In tension with

- [Value Object](https://banes-lab.com/records/architecture/value-object.md)

## Tensions

- [Entity / Value Object](https://banes-lab.com/records/tension/entity-value-object.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Domain Architecture](https://banes-lab.com/records/architecture-category/domain-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)
- [Core Modular Design](https://banes-lab.com/ontology/principles/architecture-category-core-modular-design.md)
- [Domain Architecture](https://banes-lab.com/ontology/lexicon/lexicon-category-domain-architecture.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
