Hello again Setya, {quote:Setya} The reason why I come up with my logic is because I think DDD should represent what happens in the real world. {quote} I do agree with you in this point, DDD tries to come up with a model that represents the business process. In my opinion the library officer does that verification because he knows the semantic of the relationship between __LibraryUser__ and __Book__. I would model the scenario you are presenting the following way: The __Person__ object would start havinga 0..1 relation with LibraryOfficer object. If a person as a LibraryOffice object associated then, that person can create __Loan__ objects. So the verification wouldn't actually be in LibraryOfficer's logic, but would be triggered by him while trying to create a new __Loan__. I think this would be a good solution. {quote:Setya} Anyway, that's how I learn things sometimes, by trying to present my own idea and hear what people think about it, and I surely learn a lot from what you've said. {quote} It's probably one of the best ways to learn, exposing and discussing ideas with others. I'm also fond of such method. Thank you for all the feedback. I really hope you've learned something with the three articles about DDD. Best Regards, Paulo