diff --git a/props/common.props b/props/common.props index 55d5e8d..1e97b33 100644 --- a/props/common.props +++ b/props/common.props @@ -3,7 +3,13 @@ Qowaiv implements common, universal domain objects. These types form the base of your domain model. - Ad van der Hoeven;Corniel Nobel;Erik Ammerlaan;Jack Kester;Jur Balledux;Marcel Strik;Mitchell Smit;Patrick Evers;Wilko Frieke + + Corniel Nobel; + Jack Kester; + Jur Balledux; + Marcel Strik; + Patrick Evers + Qowaiv community qowaiv domain model Qowaiv community @@ -11,8 +17,6 @@ 12.0 false enable - - false diff --git a/props/package.props b/props/package.props index b6b1478..3c91e32 100644 --- a/props/package.props +++ b/props/package.props @@ -6,17 +6,23 @@ true - - + + + true + true package-icon.png - http://www.github.com/Qowaiv/Qowaiv + https://github.com/Qowaiv/qowaiv-domainmodel/blob/master/design/package-icon.png MIT + http://www.github.com/Qowaiv/qowaiv-domainmodel + README.md git - https://github.com/Qowaiv/Qowaiv + https://github.com/Qowaiv/qowaiv-domainmodel CONTRACTS_FULL + + false - - + + @@ -31,9 +37,7 @@ - diff --git a/src/Qowaiv.DomainModel.TestTools/Qowaiv.DomainModel.TestTools.csproj b/src/Qowaiv.DomainModel.TestTools/Qowaiv.DomainModel.TestTools.csproj index 5297c2e..b8d2901 100644 --- a/src/Qowaiv.DomainModel.TestTools/Qowaiv.DomainModel.TestTools.csproj +++ b/src/Qowaiv.DomainModel.TestTools/Qowaiv.DomainModel.TestTools.csproj @@ -20,7 +20,6 @@ v0.1.0 v0.0.1 - Initial release - true 1.0.0 diff --git a/src/Qowaiv.DomainModel.TestTools/README.md b/src/Qowaiv.DomainModel.TestTools/README.md new file mode 100644 index 0000000..3f9ca17 --- /dev/null +++ b/src/Qowaiv.DomainModel.TestTools/README.md @@ -0,0 +1,7 @@ +# Qowaiv..DomainModel.TestTools + +## Package +This package contains helpers to make writing unit tests for Aggregates easier. + +## Further reading +More info can be found at https://github.com/Qowaiv/qowaiv-domainmodel. diff --git a/src/Qowaiv.DomainModel/Qowaiv.DomainModel.csproj b/src/Qowaiv.DomainModel/Qowaiv.DomainModel.csproj index 152baf9..8e53e90 100644 --- a/src/Qowaiv.DomainModel/Qowaiv.DomainModel.csproj +++ b/src/Qowaiv.DomainModel/Qowaiv.DomainModel.csproj @@ -56,7 +56,6 @@ v0.0.2 v0.0.1 - Initial release - true 1.0.0 diff --git a/src/Qowaiv.DomainModel/README.md b/src/Qowaiv.DomainModel/README.md new file mode 100644 index 0000000..60c1212 --- /dev/null +++ b/src/Qowaiv.DomainModel/README.md @@ -0,0 +1,28 @@ +# Qowaiv.DomainModel +Qowaiv Domain Model is a library containing the (abstract) building blocks to +set up a Domain-Driven application. + +## Event Sourcing +Within Qowaiv Domain Model, the choice has been made to only support DDD via +Event Sourcing. In short: Event Sourcing describes the state of an aggregate +(root) by the (domain) events that occurred within the domain. Getting the +current state of an aggregate can always be achieved by replaying these +events. + +## Always Valid +The aggregate should always be valid according to the boundaries of its domain. +There are multiple ways to achieve this, but within Qowaiv Domain Model this is +guaranteed via an implicitly triggered validator. + +When a public method is called that would lead to a new aggregate state, the +events describing the change are only added to the event buffer +associated with the aggregate if the new state is valid according to the +rules specified in the validator. + +## Aggregate +An aggregate is a cluster of associated objects that we treat as a unit for the +purpose of data changes. When implementing an aggregate there are several steps +that have to be taken. + +## Further reading +More info can be found at https://github.com/Qowaiv/qowaiv-domainmodel.