
[Flutter] Riverpod - DI
·
Flutter/Basic Knowledge
DI 란?의존성 주입(Dependency Injection, DI)은 한 객체가 다른 객체의 의존성을 제공하는 디자인 패턴입니다.의존성이 있다는 건 무슨 의미 일까요?: A를 구현함에 있어 B를 사용해서 B가 정상 동작 하지 않으면 A도 결함이 발생할 때, A가 B에 의존성이 있다고 표현을 합니다.당연히 의존성은 최소화하는게 좋습니다. 예를 들어, A가 B에 의존하고 B가 C에 의존하고 C가 D에 의존하는 구조라면, D가 변경되는 경우 A까지 실행이 안될 수 있거든요. 이렇게 복잡하게 얽혀있는 경우에 문제가 발생하면, 문제의 시작점이 어디인지 찾기가 매우 어려울 수 있습니다. -> 이런 경우 코드의 결합도가 높다고 표현합니다. 그렇기 때문에 DI라는 개념이 생긴 것입니다. 의존성을 외부에서 주입받도록..