Add AggregateRoot<TId>#463
Add AggregateRoot<TId>#463xavierjohn wants to merge 1 commit intovkhorikov:masterfrom xavierjohn:master
Conversation
|
Adding |
|
The other PR has IAggregateRoot and IEntity interfaces, and I am not sure of why an Interface is needed. On the other hand, this library has already mixed two concerns, DDD & Functional programming. We could say that Entity, ValueObject, SimpleObject, and Enum all belong in a separate library. Given where we are today, I think adding this class that only adds documentation value belongs here. |
|
The Also, regarding the mish-up of DDD & Functional programming. That's true, but let me give context for future reference. Initially, the library contained only I resisted adding |
|
Is Entity an RDBMS leaked implementation detail? If I was using a document DB to store the aggregate, would I have entities with IDs? It will be interesting to see DDD training without using an RDBMS. In my case, I am using CosmosDB, so I only have aggregates and ValueObjects. |
|
Good question. I'm not 100% sure, but I think I would, just for unification purposes. |
Add
AggregateRoot<TId>Inheriting from this class gives clarity to the consumer group of all the Aggregate Roots