안드로이드 앱 개발기 #26 - 클린 아키텍처 구현을 위한 모듈 구성

in kr-dev 커뮤니티2 years ago (edited)

시작하며...

이번 프로젝트에서 클린 아키텍처를 구현하고 있습니다. 내용의 범위도 넓고 깊이도 얕지 않네요. 부분적으로는 이해하고 있지만 완전히 이해하는데에는 시간이 좀 더 필요할 거 같습니다. 제가 배우고 있는 내용들을 조금씩 정리하여 포스트로 올리고 있습니다. 이게 저 자신에게도 도움이 되고, 클린 아키텍처를 배우려는 분들에게도 도움이 되기를 바랍니다.


개발 환경

안드로이드 스튜디오 Chipmunk 버전을 전제로 합니다. 이전 버전을 쓰는 것도 문제는 없어 보이지만, 가능한 최신 버전을 사용하는 것이 좋습니다.


새 프로젝트 생성 후 기본적으로 만들어진 app 모듈

안드로이드 스튜디오에서 하나의 프로젝트는 1개 이상의 모듈로 구성되구요. 새 프로젝트를 생성하면, 기본적으로 app이라는 이름의 모듈이 만들어집니다. 하나의 모듈로부터 안드로이드 앱 또는 라이브러리 파일 등을 빌드할 수 있습니다. 모듈을 새로 만들 때, 무엇을 빌드할 것인지를 정할 수 있죠. app 모듈에서는 안드로이드 앱을 빌드할 수 있습니다.


클린 아키텍처 구현을 위한 모듈 구성

app 모듈만으로도 앱을 만들 수 있지만, 클린 아키텍처에서는 3개의 모듈을 만들 것을 전제로 합니다. 각 모듈의 역할은 다음과 같습니다.

모듈역할디자인 패턴빌드 결과물
domain비즈니스 관련 데이터 정의Repository(인터페이스 정의), UseCase라이브러리
data데이터 읽거나 기록. 서버 연동도 여기서 구현.Repository(구현체 정의)라이브러리
presentation화면 보여주기 및 관련 로직ViewModel (뷰 관련 로직)APK

위 표가 한번에 이해하기 쉽지는 않습니다. 일단은 위 3가지 모듈을 기본적으로 정의하는 점에 주목하시구요. 각 모듈 그리고 관련 디자인 패턴에 대해서는 이후 차근차근 설명, 정리할 예정입니다.


참고 링크


지난 안드로이드 앱 개발기

Sort:  
 2 years ago 

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Upvoted! Thank you for supporting witness @jswit.
default.jpg

Coin Marketplace

STEEM 0.19
TRX 0.13
JST 0.028
BTC 65178.97
ETH 3261.27
USDT 1.00
SBD 2.68