Data
Data objects hold the state that services and systems operate on.
Why data is separated out
Separating state from behavior makes the system easier to reason about.
It allows the project to keep:
- reusable models
- clearer service boundaries
- lower coupling between systems
What data usually represents
Depending on the feature area, data can describe things such as:
- current world state
- authored behavior content
- configuration values
- runtime values that change as agents act
How to think about it
As a user, you usually configure or author data and let services interpret it.
As a maintainer or integrator, this separation helps you see which classes store state and which classes perform actions.