Anemic Domain Model
An Anemic Domain Model is a model where domain objects primarily contain data while business rules and behavior live in separate service classes. It is often criticized because it weakens encapsulation and can result in procedural business logic spread across services. However, it is not universally wrong. Simple CRUD applications can reasonably use an anemic model, while rich domain models are more valuable when the domain contains significant business invariants and behavior.
Anemic models often expose setters and move business rules into services.
Rich domain models encapsulate invariants and operations with the data they govern.
Anemic models can be appropriate for simple CRUD and data-centric systems.
The right choice depends on domain complexity rather than ideology.
A useful test is whether business invariants can be violated by manipulating entity state directly.