[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라는 개념이 생긴 것입니다. 의존성을 외부에서 주입받도록..
[Flutter] 앱 개발을 위한 클린 아키텍처 기본기 다지기 - 1단계
·
Flutter/Basic Knowledge
- LLM Model(ChatGPT, Claude)을 통해 생성된 정보를 바탕으로 제가 읽고 공부하며 수정한 글입니다.- 클린 아키텍쳐를 Flutter 프로젝트에 적용해보기 위한 기초 공부 글 입니다.- 제가 첨언한 부분은 기울여져 있습니다.TL;DR클린 아키텍처는 Flutter 앱을 유지보수하기 쉽고, 테스트 가능하며, 확장성 있게 만드는 설계 방법론이야. 로버트 마틴이 제안한 이 방법론은 비즈니스 로직을 UI나 외부 요소로부터 독립시켜서 앱의 핵심 가치를 보호해. SOLID 원칙을 기반으로 하고, 계층 구조를 통해 의존성 방향을 제어함으로써 Flutter 프로젝트의 복잡성을 관리하고 장기적 유지보수성을 향상시킬 수 있어.-> 목표: Flutter 앱을 유지보수하기 쉽고, 테스트 가능하며, 확장성 있게..