diff --git a/adr-provs/ddd-validation.md b/adr-provs/ddd-validation.md new file mode 100644 index 0000000..0167321 --- /dev/null +++ b/adr-provs/ddd-validation.md @@ -0,0 +1,24 @@ +# ddd-validation + +## Status + +to be discussed + +## Context + +We want express validity on domain objects. Clear described validity helps on +* avoid many redundant and unnecessary (null-)checks spread around in the code +* collects all validity constraints to one defined place + +### Principles affected + +* Check the domain borders +* Do not tie validation to object creation / serialization +* propagate validation through aggregates + +![ddd-validation](ddd-validation.png) + +### see also: +* [Fowler] Do not use exceptions for validation: https://martinfowler.com/articles/replaceThrowWithNotification.html +* [Fowler] Contextual Validation: https://martinfowler.com/bliki/ContextualValidation.html +* [Vladimir Khorikov] Some ideas for validation in DDD: https://enterprisecraftsmanship.com/posts/validation-and-ddd/ diff --git a/adr-provs/ddd-validation.png b/adr-provs/ddd-validation.png new file mode 100644 index 0000000..5591eaf Binary files /dev/null and b/adr-provs/ddd-validation.png differ diff --git a/adr-provs/partial-execution.md b/adr-provs/partial-execution.md index 829807b..6827a09 100644 --- a/adr-provs/partial-execution.md +++ b/adr-provs/partial-execution.md @@ -25,5 +25,3 @@ We want to be able to execute single provision steps to apply partial installati * Vorbehalt2: entscheiden, was in der domain testbar sein muss * Wir nutzen nur einschichtige Konfiguration, da wir nur noch uns selbst als Nutzerkreis ansehen. - -