Inversion of Control

Turkish equivalent: Kontrolün tersine çevrilmesiDomain: Software Engineering

An architectural principle in which control over object creation, lifecycle or callback sequencing is delegated to a framework or external composition mechanism.

Who Controls the Flow?

With inversion of control, application components no longer decide every construction or invocation step themselves. A framework, container or runtime calls application-defined code according to an external lifecycle.

Dependency injection is one common mechanism, but IoC is broader: callbacks, event loops and framework-managed lifecycles are also examples.

Design Boundary

Handing control to a container does not remove dependencies. Hidden framework lifecycle, global service location or excessive annotations can make behavior harder to reason about.

The useful goal is explicit boundaries and replaceable dependencies, not framework usage by itself.