I was talking to a Business Analyst about our Domain Model a few weeks ago. I used a class diagram to facilitate communication. She understands UML at a high level and this worked out quite well. She only asked two questions: what is an Entity and what is a Value Object? I explained.
I have two base classes i.e. Entity (http://enterprisecraftsmanship.com/2014/11/08/domain-object-base-class/) and Value Object (https://lostechies.com/jimmybogard/2007/06/25/generic-value-object-equality/). This seems to be working very well today.
However, a couple of people criticized this approach earlier on my other question here: Should I handle all nine comparisons?. They argued that these bases classes:
1) Make the Domain Model anaemic as another class is responsible for comparisons. 2) Entity and Value Object are not part of the Ubiquitous language
Point two has some bearing for me because of the conversation I had with the Business Analyst. Therefore I have looked at examples of DDD apps on GitHub with this in mind and I can't find any real life examples that use this approach. However, some tutorial type apps use it like this one: https://github.com/vkhorikov/DddInAction/tree/master/DddInPractice.Logic/Common
Therefore I have to ask if this is a valid approach for a real life application or whether it is just a thought exercise?
It does not really matter whether or not I use these base types at the moment. However, I don't want to introduce problems now that only become apparent when the application scales more in future.