This is the first time I am applying DDD concepts to a real world problem.
I started with only 1 Bounded Context as the project is relatively small. However I found myself with classes that are almost identical i.e. very similar names, very similar properties but different behaviour. I am starting to think that they actually belong in different bounded contexts as the entities are the same and just have different meaning in a different context. This is supported by the fact that the application basically has two completely different user groups.
I have done a bit of reading on how two entities in different bounded context can communicate with each other. I think I understand the concept... but have no idea how to implement? Is there a .net example somewhere? i.e. an aggregate root in one bounded context publishing an event to an aggregate root in another bounded context? and also an aggregate root calling an aggregate root in another bounded context.
And should each bounded context have its own: service layer? repository and data layer?