인프런 커뮤니티 질문&답변

inflearn님의 프로필 이미지
inflearn

작성한 질문수

Flutter 중급 1편 - 클린 아키텍처

19 클린 아키텍처 정리

클린 아키텍처 질문

작성

·

197

0

안녕하세요. 이미지 검색 앱만들기 파트를 다 보고 몇가지 의문점이 생겨 질문 올립니다.

  1. 클린아키텍처의 레이어를 보면 RepositoryImpl는 Data 레이어, Repository(추상클래스)는 Domain 레이어로 정의 되어있는데, RepositoryImpl와 Repository의 레이어 단계나 폴더구조를 다르게 가져가는 이유가 있을까요?

  2. DI 를 Spring 처럼 어노테이션 같은 것을 이용해 별도의 코드를 작성하지 않고 하는 방법은 없나요?

답변 1

1

오준석님의 프로필 이미지
오준석
지식공유자

  1. 데이터 레이어의 Impl 은 실제로 외부 라이브러리와 여러가지 복잡한 의존성이 발생하는 부분이므로 도메인과 분리하는 전략입니다. 반면에 도메인 레이어는 순수 Dart 코드로만 이루어지기 때문에 외부 라이브러리 교체나 Flutter SDK 변경에 영향을 받지 않습니다.

  2. 어노테이션을 활용한 DI 는 injectable 과 get_it 조합으로 가능하며 제 강의 중급 3편 의존성 주입 가이드에서 다루기도 합니다. https://inf.run/ybH9

inflearn님의 프로필 이미지
inflearn
질문자

아하 답변을 보니 완벽히 이해 됐습니다. 답변 감사합니다. ㅎㅎ

inflearn님의 프로필 이미지
inflearn

작성한 질문수

질문하기