For examples on how to implement a Shared Service, I believe you could check the
MarketFeedService.cs and MarketHistoryService.cs files in the the
Stocktrader RI (in this sample the services are exported into the
MEF container) or the OrdersRepository.cs in the
Commanding Quickstart where the
Unity container is used, both samples are provided along with the
As you may find a Shared Service is a class registered in a container that can be accessed through a common interface. Typically, shared services are found in a shared assembly, but this is not always the case, for example in the
Commanding Quickstart you can find that the aforementioned service is registered and consumed within the same module.
Additionally, I believe you could also check the Dependency Injection Lab of the
Prism Training Kit, which explains step by step how to register and consume services in a decoupled way.
On the other hand, take into account that there are several communication approaches that can be used between components and depending on your scenario you will have to decide which one suits your needs. For example if loose coupling is not a requirement,
perhaps using .NET Framework events could be the most simple and straightforward approach.
I hope you find this helpful,