What is "ioc"

Inversion control (Inversion of Control or Ioc) is the name given to the pattern of computer program development where the sequence (control) of the methods calls is reversed relative to the traditional programming, ie it is not directly determined by the programmer.

Definition

A normal flow of execution happens when a given program creates calls to other programs and so on, leaving the creation of components, the start of execution and the end of execution under the control of the programmer.

The inversion of control occurs when instead of explicitly creating a code, or monitoring the entire life cycle of an execution, the programmer delegates some of these functionalities to a third party.