docs/architecture-decision-log/0013-protect-business-invariants-using-exceptions.md
Date: 2019-07-01
Log date: 2019-11-05
Accepted
Aggregates should check business invariants. When the invariant is broken, we should stop processing and return an error immediately to the client.
Solution number 1 - Use exceptions. </br>
Performance cost of throwing an exception is irrelevant, we don't want too many if/else statements in entities, more familiar with exceptions approach.