[Flutter] : TDD - 01.Project Structure


[출처] : https://resocoder.com/2019/08/27/flutter-tdd-clean-architecture-course-1-explanation-project-structure/

Reso Coder의 강의들을 쭉 정리해보고자 한다.

1강 부터 정리해나갈 생각이라 아래 서브 페이지로 나열하겠다.

참고로 Provider가 아니라 Bloc을 사용한다.

NumberTrivia App을 만들어보자 (랜덤 숫자 생성 및 거기에 담긴 의미 가져오기)

Project Structure


먼저 Clean Architeture 에 대해서 정리한다.

Clean Architecture에 대해서는 내가 정리한 글이 있다.

이미지

프로젝트에 대한 구조는 다음과 같다.

크게 3가지 영역으로 구분된다

  • Presentation : UI에 관련된 widget에 정보를 뿌려줍니다.
  • Domain : 핵심 비즈니스 로직 및 Entity 만 포함합니다. 종속성 반전을 통해 Data를 가져옵니다 (Repository)
  • Data : 저장소 구현 및 데이터 소스를 얻는다. Models를 반환한다. (Json 데이터 변경)

프로젝트 내부에서는 각 Feature당 폴더구조를 다음과 같이 가져간다 (Bloc 기준)

이미지

다음 내용부터 하나씩 채워보자