I have problem with consistency paranoia in DDD. I still want to validate relation between objects and sometimes it feels like I’m over-validating stuff. For example: Aggregate1: Payment(id, merchantId, posId) Aggregate2: Merchant(id) Aggregate3: Store(id, merchantId) Aggregate4: Pos(id, storeId, merchantId) Payment payment = merchant.createPayment(pos, store); // here i did validations later, second transaction: payment.prepareRequest(pos, merchant, store);Read more