Understanding Controller

What are Controllers and Why are they needed?

In this article we will discuss a very important pattern which is a fundamental property of any well designed system.

Every well designed system will have controllers controlling the internal component interactions of the system at different levels of granularity.

As we know structural components within systems interact with each other to give different behaviors. If their interaction is not controlled, the components can start interacting with each other in an uncontrolled and an unmanageable way and will start giving erroneous conditions. The more the number of components, the more the possible number of intercommunication and more difficult is for a single controller to control the system. Hence the normal best practice is to have controllers at different levels of granularity for ensuring macro and micro level management.

The general rule which we can keep in mind is, the moment one draws the system boundary for a system or a subsystem we should blindly draw the controllers for the same.

To understand the need behind existence of controllers within systems, we will discuss both the cases, in the first case we will discuss the design of a system without controller and in the second case we will discuss the design of a system with controller and evaluate it wrt scientific parameters.

Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer