Inversion of Control

E811522

Inversion of Control is a software design principle where the flow of control is delegated from custom code to a framework or container, enabling more modular, testable, and loosely coupled systems.

All labels observed (2)

Label Occurrences
Inversion of Control canonical 2
IoC 1

How this entity was disambiguated

Statements (49)

Predicate Object
instanceOf architectural principle ⓘ
software design principle ⓘ
alsoKnownAs IoC ⓘ
category design principles ⓘ
software architecture ⓘ
software engineering ⓘ
changes flow of control in a program ⓘ
commonIn .NET frameworks ⓘ
linked to: .NET

Java frameworks ⓘ
JavaScript frameworks ⓘ
contrastsWith traditional procedural control flow ⓘ
decouples application logic from infrastructure concerns ⓘ
object creation from object usage ⓘ
delegatesControlTo container ⓘ
framework ⓘ
enables easier unit testing ⓘ
loose coupling ⓘ
mocking of dependencies ⓘ
plug-in architectures ⓘ
separation of configuration from use ⓘ
exampleFramework .NET Core dependency injection container ⓘ
Angular ⓘ
Inversion of Control containers (IoC containers) ⓘ
Spring Framework ⓘ
followsPrinciple Don’t call us, we’ll call you ⓘ
hasGoal improve flexibility of software systems ⓘ
improve maintainability ⓘ
improve modularity ⓘ
improve testability ⓘ
reduce coupling between components ⓘ
helpsWith reusing components across applications ⓘ
substituting implementations at runtime ⓘ
testing components in isolation ⓘ
implementedBy dependency injection containers ⓘ
service locator containers ⓘ
promotes configuration-driven behavior ⓘ
interface-based design ⓘ
late binding of dependencies ⓘ
relatedConcept Dependency Injection ⓘ
Hollywood Principle ⓘ
Service Locator pattern ⓘ
supports configuration via annotations ⓘ
configuration via code ⓘ
configuration via metadata ⓘ
usedIn component-based systems ⓘ
enterprise application frameworks ⓘ
object-oriented programming ⓘ
plugin systems ⓘ
web application frameworks ⓘ

How these facts were elicited

Referenced by (3)

Full triples — surface form annotated when it differs from this entity's canonical label.

Dependency Inversion Principle → relatedTo → Inversion of Control ⓘ
DIP → relatedTo → Inversion of Control ⓘ
Inversion of Control → alsoKnownAs → IoC ⓘ
linked to: Inversion of Control