There are quite a few patterns, which dictate the communication between dissimilar modules. This becomes especially useful in microservice architecture.
Note
You can learn more about microservices at http://martinfowler.com/articles/microservices.html.
Consumer-Driven Contracts (CDC) is a one of these patterns. It specifies how different modules of the application will interact. The fact that this pattern is called consumer-driven, means that it is the liability of the consumer of the service to dictate what kind of interaction it is expecting and the format this interaction should be in. All the other services (providers) must agree to these contracts and make sure that they are abiding by them.
These contracts from the consumer enable us to understand the business importance and value from the perspective of the consumer. The consumer's contracts, through the assertions and expectations, define which bits of the provider's contract of service support the business...