I'm working through the NServiceBus ServiceMatrix tutorial, and am trying to understand:
- All defined events will be put in the Contracts project.
- All commands will be put in the Internal project.
I'm not tracking the intuition here. Why are commands considered an internal notion? Aren't they part of the public contract that other components would need to know about? Why not define all commands and events in the same 'Contracts' project?