Software Design - Inversion of Control

> Code - (Programming|Computer) Language > ( Information System | Software ) Design - Art of Programming

1 - About

In software engineering, inversion of control (IoC) describes a design in which custom-written portions of a computer program receive the flow of control from a generic, reusable library.

A software architecture with this design inverts control as compared to traditional procedural programming: in traditional programming, the custom code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks, but with inversion of control, it is the reusable code that calls into the custom, or problem-specific, code.

The term is related to but different from the dependency inversion principle, which concerns itself with decoupling dependencies between high-level and low-level layers through shared abstractions.

3 - Benefits

Inversion of control is used to increase modularity of the program and make it extensible

4 - Documentation

code/design/inversion_of_control.txt · Last modified: 2017/09/17 20:37 by gerardnico