안드로이드 프로젝트 하면서 클린아키텍처 도입
오늘은 최근에 안드로이드 프로젝트를 하면서 사용한 CleanArchitecture에 대해서 간략히 정리하고자 한다.
상세 소스는 없고 단지 구조적인 부분만 정리한 것이다.
< Clean Architecture 다이어 그램 >
위의 그림을 보면 클린아키텍처의 모든걸 한번에 알수 있다고 해도 과언이 아니다
클릭아키텍처 사용목적
어떤 경우에 클린아키텍처가 빛을 발휘할 수 있을까?
어플리케이션이 확장을 하거나, 변경을 필요할때 클린아키텍처를 도입을 했다면
이럴때 빛을 발휘할 수 있을것이다.
클린아케텍처를 도입했다면, 단순하게 인터페이스 어댑터 영역과 프레임워크와 드라이브 영역만 수정하면 가능할 것이다.
클린 아키텍처는 단순한 추상화에 불과하다.
프로젝트를 구조를 만들다 보면 조금씩 차이가 있겠지만 클린아키텍처의 장점을 대부분 살려서 구조를 잡을거라고 본다.
- 의존성 관계
- domain-layer ------> data-layer -----> presentation-layer(의존성 없음)
이번 프로젝트를 진행하면서 내가 설계한 구조는 다음과 같다
- Domain-Layer
- Entity : 어플리케이션 객체
- repository : 인터페이스
- useCase : 어플리케이션 사용자가 하고자 하는것
- Data-Layer
- repository : repository구현체
- service : 네트워크 coroutine 인터페이스
- Presentation-Layer
- ui : (Model, Activity)
정리 : 이번 시간에는 최근에 안드로이드 프로젝트를 진행하면서 도입한 클린아키텍처 대해 간략하게 정리해 보았다.
클린아키테거에 대해 자세히 알고 싶다면 관련 블로그들을 찾아 보길 바란다.
'IT > 안드로이드' 카테고리의 다른 글
Android Kotlin에 대한 개인적인 생각 (0) | 2022.10.27 |
---|---|
안드로이드 앱에서 웹뷰로 데이터 전송 (0) | 2015.11.17 |
안드로이드 View에 getTag(),setTag()사용하기 (0) | 2015.11.03 |
순서대로 처리되는 동적리시버 (0) | 2015.08.17 |
안드로이드 개발에 발을 들이다 (0) | 2015.05.04 |