This is dependency injection: ``` class Foo clas...
# android
n
This is dependency injection:
Copy code
class Foo

class Bar1() {
  val foo = Foo()
}

class Bar2(val foo: Foo)
This is dependency inversion:
Copy code
interface Foo
class FooImpl : Foo

class Bar1(foo: FooImpl)
class Bar2(foo: Foo)
Where
Bar2
follows the 'proper' principle.