목록 보기
사입앱 클린 아키텍쳐 적용기
아키텍처

사입앱 클린 아키텍쳐 적용기

딜리셔스
딜리셔스
2022년 12월 13일

두줄요약

사입앱에 클린 아키텍처를 적용한 경험을 정리했습니다. ViewModel 부담을 줄이고 의존성과 모듈 역할을 분리한 과정과 장단점을 공유했습니다.

문제 상황

  • 사입 업무가 수작업과 지류 중심이라 인력 소모와 처리 시간이 큰 구조
  • MVVM 도입 후 비즈니스 로직이 ViewModel에 집중되며 코드가 길어지는 문제
  • 공통 로직 중복은 줄었지만 역할 분리와 구조 개선에는 한계

구조와 흐름

  • 클린 아키텍처의 핵심을 계층 분리와 단방향 의존성으로 정의
  • Android에서는 PresentationLayer, DomainLayer, DataLayer로 분리
  • ViewModel은 Presenter 역할, UseCase는 애플리케이션 비즈니스 규칙 담당

선택 이유

  • Domain을 독립 모듈로 두기 위해 Entity를 Domain Layer의 Model로 재정의
  • Data를 바깥 계층으로 보내어 Retrofit, Database 선택을 중심부에서 분리
  • UseCase에서 문자열 리소스 접근과 다중 네트워크 호출 구조를 개선

장단점

  • 장점: 의존성 분리, ViewModel 책임 감소, 모듈 역할 명확화, 재사용성 증가
  • 장점: Nullable DTO와 매핑 분리로 안전성 향상, 모듈 분리로 빌드 속도 개선
  • 단점: 높은 러닝 커브, 멀티 모듈 이해 필요, 클래스 수 증가

댓글 0

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

댓글을 불러오는 중...