[도입 순서]
- 패지지 정리
- 프로젝트의 소스가 패키지별로 잘 정리되어 있지 않다면 가장 먼저 기능별로 패키지로 모으는 패키지 정리작업을 가장 먼저해야 합니다.
- 패키지는 일반적으로 MVVM 패턴에 따라 정리하면 됩니다.
- Clean Arcitecture에서 강조하는 Domain 계층은 처음에는 필요하지 않습니다. UI(View, ViewModel), Data(Repository, DataSource) 계층으로만 나누어도 충분합니다. 그 이후에 Domain 계층을 추가한 다음 Usecase를 도출하면 됩니다.
- 패키지를 모듈로 전환
- 패키지 정리가 완료 되었으면, 그 패키지들을 각각의 모듈로 하나씩 전환합니다.
- 모듈로 전환할 때 Util 패키지와 같이 모든 패키지들이 참조하는 패키지부터 모듈로 분리하는 것이 좋습니다.
- Data 패키지를 모듈로 분리할 때에는 data-interface 모듈을 추가해서 data 모듈과 UI 모듈을 연결해야 합니다. 이 때 gradle에 “runtimeOnly project(path: ':data')” 와 같이 빌드 설정을 해야 합니다.
[필요 기술]
- Hilt : 안드로이드에서 클린아키텍처를 적용하려면 필수적으로 Hilt 를 사용해야 한다고 생각합니다. 모듈간 의존관계를 설정해야 하는데 Hilt 외에는 답이 없는 것 같습니다.
[관련 소스]
추후 업뎃 예정입니다.
[Tool]
- Copliot 을 사용하면 클린아키텍처를 도입하면서 생기는 보일러플레이트 코드의 많은 부분을 자동으로 생성해 주기 때문에 심리적이고 실질적인 부담을 많이 줄일 수 있습니다.
'프로그래밍 > Clean Architecture' 카테고리의 다른 글
네이티브 vs 크로스 플랫폼: 앱 개발의 선택 (0) | 2024.03.29 |
---|---|
Clean Architecture의 힘 (0) | 2024.03.14 |
Clean Architecture에 대한 개인적인 생각 (0) | 2023.08.29 |
Clean Architecture 도입시 고려할 점 (0) | 2023.08.29 |
Clean Architecture 단점 (0) | 2023.08.29 |