Characteristic 5 - Structural components should not talk to each other directly

Characteristic 5 - No interaction between the components

If we again look in to figure explaining the design of the system with a controller, we will see one more startling trend. The structural components of the system are not communicating with each other.

This is the last characteristic of the controller.

“At no point of time, the structural components should talk to each other directly, either the interaction between the same should be controlled by the controller or it has to be mediated through a mediator.”

Why do we need this constraint?

As we know the controllers job is the control the way structural components interact with each other so as to give different behaviors. If the structural components starts interacting with each other directly, I hope we will realize that the controller immediately losses the control of the system. This is the reason it is said that the interaction between the components should be controlled by the controller.

Controlling the interaction between the components means , if component A wants to pass some information to component B , the controller will first raise a request on component A and then Components A sends the data as a part of the response to the request. This data is then sent to component B when the controller sends a request to component B. But ask yourself if there are large number of structural components who wants to interact with each other so as to deliver a functional behavior and the controller is controlling the interaction between these large number of components, then I hope you will realize the controller himself will become a bottleneck of the system. In this situation, the interaction between these components is mediated through a mediator.

In your project as a system, till the projects are small (>7-8) the project managers can control the interaction between the engineers, but if the project size increases, a single project manager will become a bottleneck and hence the project manages will put one or more mediators within the system to take care of the interactions. Project leads, Team Leads, Module leads are the mediators of the project.

Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer