# Feature Envy

Record: `arch:feature-envy`
Kind: anti-pattern
Layer: [Enforcement Core](https://banes-lab.com/records/layer/enforcement-core.md)
Severity: discouraged
Scope: modularity, contract_compatibility
Canonical: https://banes-lab.com/ontology#arch-feature-envy

## Repair

- Refactored by: move_method, encapsulate_state, add_domain_behavior, introduce_service_boundary
- Detected by: many_getters_from_other_object, logic_using_foreign_fields, domain_rule_outside_owner
- Violated by: Let one module repeatedly inspect or manipulate another module’s data instead of moving behavior to the data owner.

## referenced-by

- [Encapsulation](https://banes-lab.com/records/arch/encapsulation.md)
