Really nice and well explained, However I have a question not related to DDD but when we think about DAO layer, we often need to convert DTO to this service layer objects, in example let say from AccountDto to Account and vice versa, So if we encapsulate balance attribute, how we will convert of map these Dto ? I can think of one option as consructor parameter