Core library for DDD in Kotlin.
Copilot is the main contributor of this project.
Implements strategic classes and interfaces to build a DDD application.
A value object is an object that represents a value, which does not have an identity.
An entity is an object that is not defined by its attributes, but rather by a thread of continuity and its identity.
An aggregate is a cluster of associated objects that we treat as a unit for the purpose of data changes.
A repository is an object that encapsulates the set of objects persisted in a data store and the operations performed over them, providing a more object-oriented view of the persistence layer.
A domain event is an event that occurs in the domain and that is important to the domain.