sethlopezme / kotlin-di-example

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dependency Injection (DI)

What is it?

  • "A 25-dollar term for a 5-cent concept" - James Shore
  • Technique whereby the dependencies of an object are provided to it, rather than the constructing them or accessing them through another object.

Cool, cool, cool. And what's a dependency, again?

  • When object A requires (depends on) the presence or functionality of object B, object B is a dependency of object A.

Alright, so why should I care?

  • Primary gain is making testing easier.
  • Encourages loose coupling.
  • Puts an object's dependencies front and center, easier to see.
  • Changes to the application are (potentially) easier. Fewer breaking code changes.

What's the catch?

  • It can be hard to understand sometimes.
  • Dependency injection isn't always mature in all languages/frameworks.

About


Languages

Language:Kotlin 100.0%