목록 보기
Flutter 클린 아키텍처: 작은 앱부터 대규모 프로젝트까지 맞춤 설계
아키텍처

Flutter 클린 아키텍처: 작은 앱부터 대규모 프로젝트까지 맞춤 설계

라인
라인
2024년 11월 1일

두줄요약

Flutter 앱을 단계적으로 확장하며 클린 아키텍처로 발전시키는 과정을 소개했습니다. 작은 프로젝트에서는 과할 수 있지만 대규모 프로젝트에서는 유지보수와 테스트에 유리했습니다.

핵심 내용

  • Flutter 앱 구조를 작은 단계부터 클린 아키텍처로 확장해 가는 과정 정리
  • View-ViewModel-Repository-UseCase-Entity로 역할을 분리하며 중복, 동기화, 테스트 문제를 완화
  • 작은 프로젝트에는 과도할 수 있으나 대형 프로젝트에서는 변경 용이성과 테스트성 향상에 유리

구조와 흐름

  • 초기에는 View가 서버 요청과 화면 구성을 함께 담당해 책임이 과도하게 집중
  • View와 ViewModel 분리 후 Repository 추가로 데이터 중앙 관리와 화면 동기화 개선
  • Repository 인터페이스 분리, Model과 Entity 분리, UseCase 도입으로 의존성 정리

선택 이유

  • 화면 추가와 즐겨찾기 같은 공통 기능에서 코드 중복과 상태 동기화 문제 해소
  • 서버 모델 변경이나 테스트용 목 구현체 교체에 유연하게 대응
  • 여러 Repository와 복합 비즈니스 로직을 한 곳에서 관리하기 위한 흐름 정리

주의할 점

  • 규모가 작은 프로젝트에서는 오히려 복잡도만 높아질 수 있음
  • 4단계 이후부터는 인터페이스 수가 늘어 구조의 필요성을 체감하기 어려울 수 있음
  • 프로젝트 규모와 인원 수를 고려한 단계적 도입이 중요함

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...