[Android] 기억에 남는 장소 저장 앱 개발기 - 6

송규빈·2022년 8월 18일
0

DayToGo 개발기

목록 보기
6/7

구조 변경

클린 아키텍처를 도입한다고는 했으나.. 익숙치 않아 짜다보니 결국엔 또 내 멋대로 짜는 방식이 되어버렸다.
그래서 하루 날 잡고 전체 구조를 싹 바꾸기로 마음 먹었고, 바로 오늘 해냈다,, 그나마 아직은 앱의 규모가 작아서 5시간 밖에(?) 안 걸렸다.

일단 크게 Presentation / Data / Domain 이렇게 세 계층으로 나눴고 이것을 멀티 모듈화를 시켜 관심사 분리와 가독성에 집중을 했다.

또한, 이 과정에서 그래들 관리를 kotlin dsl을 적용하여 build.gradle-> build.gradle.kts 형태로 변경하였다.

각 계층에 대해 간단하게 설명을 하자면

  • Presentation

    UI를 담당하는 계층으로 Data 계층과 Domain 계층에 의존성을 가지고 있는 계층이다.
    이 계층에 포함되는 것들은 view, viewModel, DI, Module 등이다.

  • Data

    Domain 계층에 의존성을 갖고있는 계층으로 데이터들을 관리하는 계층이다.
    interface인 repository 구현부나 mapper등이 포함된다.

  • Domain

    제일 안 쪽 계층으로 의존성을 가지지않고 Data model이나 Use Case, Repository(interface)가 포함된다.

이러한 구조로 리팩토링한 결과..

상당히 깔끔해졌다 :)

참고 1
참고 2

profile
🚀 상상을 좋아하는 개발자

0개의 댓글