NServiceBus: Distributing Event Schema/Contract
In SOA, events facilitate loose coupling. One of the primary tenets of SOA is that services define schema and contract not class or type. For this reason it is good to keep the event definitions separate from your code. In fact, Udi recommend keeping this separation to the utmost—by having totally separate source control repositories for the event definitions and another for the service implementation. One issue that we've experienced in strongly typed, compile-time friendly . »