Skip to content

Package Convention

Grandelwald edited this page Jan 11, 2022 · 1 revision

➡️ Package Convention

Spark_Android_Package Convention 을 토대로 작성하였습니다.

  • 패키지 네임은 무조건 소문자로 작성한다.
  • 패키지는 크게 data 패키지, di패키지, ui패키지, util 패키지로 나눈다.

  1. data 패키지
    • data 패키지는 크게 local 패키지와, remote 패키지, repository 패키지로 나눠진다.
    • local 패키지에는 로컬 저장소에서 SharedPreference와 관련된 파일들이 들어간다.
    • remote 패키지에는 외부 저장소(서버)에서 오는 model(responseData, requestData 등), api(service 등)등이 들어간다.
    • repository 패키지에는 레포지토리 파일(도메인 역할)들이 들어간다.
  2. di 패키지
    • di패키지에는 의존성 주입(Hilt)과 관련된 코드(Module)들이 들어간다.
  3. ui 패키지
    • ui 패키지는 크게 base 패키지와, view 패키지, viewmodel 패키지로 나눠진다.
    • base 패키지
      • base 패키지에는 뷰들이 상속받는 베이스 클래스(BindingActivity, BindingFragment)가 들어간다.
    • view 패키지
      • view 패키지에는 프로젝트 내에서 사용되는 뷰(액티비티나, 프래그먼트, 어댑터, 모델 등)와 관련된 클래스들이 들어간다.
      • 연관있는 클래스(ex : 로그인, 회원가입)들은 패키지 한 곳에 보관한다.
      • 커스텀 뷰의 경우 각 view에 대한 패키지 하위에 custom 패키지를 따로 두어 거기서 관리한다.
  4. util 패키지
    • util 패키지에는 확장함수나, 다양한 util 관련 파일들이 들어간다.
Clone this wiki locally