[코드 리팩토링] '미주정복' MVVM + Hilt 모델로 변경하기 - 서론

이윤진·2024년 1월 13일
0

코드 리팩토링

목록 보기
1/12

미주정복은 첫 번째 졸업프로젝트로 진행한 미국 주식 배당 관리 애플리케이션이다.

이때는 MVVM, MVP 등등 모델에 대한 개념이 없었어서, 원하는 대로 구조를 만들었다.
SharedViewModel이라는 것을 만들어서 공유 데이터베이스 처럼 사용했는데 지금 보니 고쳐야 할 부분이 많이 보인다.

최근, 한 회사의 개발 테스트를 봤었다.
물론...내가 과제를 다 완성하기 전에 채용 마감이 되었지만 MVVM과 DI(Hilt)에 대해 공부해보는 좋은 기회가 되었다.

그래서 이번 기회에 내 졸업프로젝트들을 리팩토링 해보고자 한다.

그 첫번째가 미주정복이다.

https://github.com/Yoonjin-Lee/us-dividend

기존 프로젝트 구조

  • activity - 모든 activity가 담겨 있는 패키지
  • data - data class 파일들이 담겨있는 패키지
  • function - 화면 구성 이외에 사용되는 함수 파일을 담은 패키지
    (정보를 엑셀 파일로 변환하여 저장하는 함수가 담겨있다.)
  • screen - Compose로 만든 UI function들이 담긴 파일들을 저장하는 패키지
  • server - retrofit이 서버와 통신하는데 필요한 ApiService, NetworkModule 파일이 담겨있는 패키지
  • ui.theme - 테마와 관련된 파일들이 담겨있는 패키지

바뀔 구조

  • base - baseActivity 등 공통적으로 쓰일 클래스를 담을 패키지
  • data - 사용될 data type이나 repository를 저장할 패키지
  • di - di에 사용될 module들을 담을 패키지
  • navigator - 화면 전환에 사용될 파일들을 담을 패키지
  • ui - UI를 구성하는 compose 함수 파일들을 담을 패키지
profile
Android/Flutter 개발

0개의 댓글