๐ŸŽ New User? Get 20% off your first purchase with code NEWUSER20 ยท โšก Instant download ยท ๐Ÿ”’ Secure checkout Register Now โ†’
Menu

Categories

Programming Concepts Intermediate

What is Dependency Injection?

A design pattern where objects receive their dependencies from external sources rather than creating them internally.

Dependency injection (DI) passes dependencies to a class instead of having the class create them. Instead of class UserService { db = new Database() }, you write class UserService { constructor(db) }. This makes code testable, flexible, and loosely coupled.

Types include constructor injection, setter injection, and interface injection. DI containers (Spring, Angular's injector) automate dependency resolution. DI is fundamental to testable code โ€” mocking dependencies becomes trivial.

Related Terms

Version Control
A system that records changes to files over time, allowing you to recall specific versions, collaborate, and track history.
Composition over Inheritance
A design principle favoring object composition (has-a relationships) over class inheritance (is-a relationships) for code reuse.
Garbage Collection
An automatic memory management process that identifies and reclaims memory no longer in use by a program.
Stack
A data structure that follows Last-In-First-Out (LIFO) ordering, where elements are added and removed from the same end (top).
Big O Notation
A mathematical notation that describes the worst-case performance of an algorithm as input size grows.
Algorithm
A step-by-step procedure for solving a problem or performing a computation, defined as a finite sequence of instructions.
View All Programming Concepts Terms โ†’