본문 바로가기
Android

Android MVVM 패키지 구조

by 안솝우화 2021. 12. 16.
반응형

안녕하세요 오늘은 안드로이드에서 MVVM 패키지 구조 예시를 보여드리려고 합니다

많은 분들이 MVVM 디자인 패턴을 공부하는데 패키지는 어떻게 해야할지 감이 잘 안오시는 분들이 있을 것 같습니다

그런 분들을 위해 예시를 보여드리려 합니다! (이게 꼭 정답은 아닙니다, 패키지 구조는 마음대로 유동적으로 해도 문제가 되지 않습니다!)

 

모듈 구조

설명을 드리기 위한 예시에서는 가본 모듈인 app 모듈 한개만 사용했습니다

 

 

하위 패키지 구조

하나씩 차근차근 설명해 드리겠습니다

 

 

base 

여러 base들이 되는 파일들 BaseActivity, BaseFragment등이 위치합니다

 

data 

db와 remote로 나눠집니다

  • db : room등 로컬 저장 db등이 위치한다
  • remote : API 호출등 뜻 그대로 원격에 있는 것들을 가져오는 retrofit등이 위치합니다
    - api : 요청을 보낼 API interface등이 위치합니다
    - model : 요청을 보낼때나 보내고 나서 결과를 받을 data class가 위치합니다

di

dagger hilt, koin등 의존성 관련 파일들이 위치합니다

 

repository 

Repository에 해당하는 파일이 위치합니다

 

view 

view와 관련된 Activity, Fragment등 파일이 위치합니다

view의 하위패키지 구성은 기능별로 나눌수도 있고 activiy와 fragment, adapter등으로도 나눌수 있습니다 (방법은 여러가지)

 

viewmodel

ViewModel 파일이 위치합니다

 

widget

extension, utils등 파일이 위치합니다

  • extension : kotlin 확장함수 파일등이 위치합니다
  • utils : 자주쓰는 함수나 변수등의 파일들이 위치합니다

 

Github 예시

구조 예시

https://github.com/ParkSangSun1/Quick_Setup/tree/mvvm

 

GitHub - ParkSangSun1/Quick_Setup: 프로젝트를 빠르게 SETUP하기 위한 Repository

프로젝트를 빠르게 SETUP하기 위한 Repository. Contribute to ParkSangSun1/Quick_Setup development by creating an account on GitHub.

github.com

 

이 구조를 적용한 간단한 Github 사용자 이름으로 검색 후 repository 출력 예제

https://github.com/ParkSangSun1/Github_RxKotlin

 

GitHub - ParkSangSun1/Github_RxKotlin: MVVM, RxKotlin을 사용한 Github 사용자 Repository 확인 예제

MVVM, RxKotlin을 사용한 Github 사용자 Repository 확인 예제. Contribute to ParkSangSun1/Github_RxKotlin development by creating an account on GitHub.

github.com

 

 

궁금한 점이나 부족한 점이 있다면 댓글 남겨주세요!

감사합니다

 

추가로

안드로이드 개발에 대한 질문과 정보 등을 공유 및 소통하는 채팅방입니다

https://open.kakao.com/o/gG5PueVd

반응형