Clean Architecture
-
UI 레이어란?Clean Architecture 2025. 8. 24. 22:00
안녕하세요~ 올해 새로운 취미를 가지고 싶어서 소설책을 조금씩 읽고 있어요!! 뭘 읽을지 몰라 무작정 유명한 것만 골라서 파과, 스토너, 구의 증명, 홍학의 자리, 급류 이렇게 다섯 권 읽었어요. 기억에 남는 책은 구의 증명 > 파과 > 홍학의 자리 > 스토너 > 급류 였던 것 같아요. OTT 중 쿠팡플레이에서 '파과'가 얼마 전까지만 해도 유료였다가 무료로 풀렸더라고요. 소설이랑 영화랑 무슨 차이가 있을까 궁금해서 보고 있어요. 아직 초반까지만 봤는데 원작(소설)이 훨씬 나은 것...같아요^^ 하.하.하 (개인적인 생각입니다) 댓글로 괜찮은 소설 있으면 추천해주세요😊 오늘은 클린 아키텍처의 마지막 레이어, UI 레이어에 대해 알아보겠습니다! 1. UI 레이어란?UI 레이어는 User Interface..
-
Presentation 레이어란?Clean Architecture 2025. 8. 17. 21:46
안녕하세요~ 여러분은 MBTI가 어떻게 되시나요? 저는 INTJ인데요. I를 제외하면 N성향이 제일 강하고, J는 노력형에 가까워요. T는 예전엔 그렇게 많이 높진 않다고 생각했는데 대학교 전공도 그렇고, 개발 공부가 꽤 영향을 주는 것 같아요. 참고로 전 F성향의 사람을 좋아해요. 가장 좋아하는 MBTI는 ENFP, INFJ고 그 다음으로 좋아하는 MBTI는 ESFP, ISFJ에요. 제일 존경하는 MBTI는 ESFJ구요🫠 본론으로 넘어가서 오늘은 안드로이드 클린 아키텍처의 Presentation 레이어에 대해서 알아보겠습니다! 1. Presentation layer의 역할프레젠테이션 레이어는 UI 레이어와 도메인 레이어 사이에 존재하는데요. 도메인 레이어의 UseCase를 사용하여 데이터를 가져와 ..
-
Local 레이어란?Clean Architecture 2025. 8. 10. 20:40
안녕하세요~ 주말에 '좀비딸'이라는 영화를 봤는데요. 좀비 영화인데 공포랑 코미디랑 같이 섞어서 재밌더라고요ㅎㅎ 감동적이면서도 비교적 가볍게 보기 좋은 영화였던 것 같아요. 저번주에는 데이터 레이어를 의존하는 원격 레이어에 대해서 알아봤었는데요. 오늘은 데이터 레이어를 의존하는 또 다른 레이어인 로컬 레이어에 대해서 알아보려고 합니다. 1. 로컬 레이어 정의와 구성요소로컬 레이어는 로컬 데이터를 저장하고 읽어오는 계층으로 DB, SharedPreferences, 파일 시스템으로 관리합니다. 로컬 레이어의 구성요소로는 DataSource Implementation, Database, Local model, Local Model Mapper가 있습니다. 하나씩 살펴보겠습니다. 2. DataSource Imp..
-
Remote 레이어란?Clean Architecture 2025. 8. 3. 20:06
안녕하세요 벌써 8월이네요! 여러분은 다음 생에 동물로 태어난다면 어떤 동물로 태어나고 싶나요? 저는 새로 태어나고 싶은데요. 그중에서도 비둘기도, 참새도 아닌 독수리로 태어나고 싶어요. 하늘을 훨훨 날아다니면서 자유를 만끽하고 싶네요. 오늘은 데이터 레이어(data layer)에 의존하는 원격 레이어(remote layer)에 대해 알아보려고 합니다! 1. 원격 레이어란?원격 레이어(remote layer)는 원격 서버와 통신하여 데이터를 주고받는 계층입니다. 데이터를 요청하거나, 요청에 대한 응답 처리 및 네트워크 오류 처리를 하게 됩니다. 이때 Retrofit이나 OkHttp같은 네트워크 라이브러리를 사용하여 API 호출을 관리하게 됩니다. 구성요소는 DataSourceImplementation,..
-
Data 레이어란?Clean Architecture 2025. 7. 27. 19:40
안녕하세요🙌 오늘 UMC x 구름톤 유니브에서 주관한 컨퍼런스에 참여하기 위해 공덕역 창업허브센터에 다녀왔어요. 연사님들로부터 30분씩 총 아홉 분의 강연을 들었는데요. SDK, Coil 라이브러리 외에도 "여러분의 아키텍처 안녕하신가요?" 라는 주제로 밥아저씨의 클린 아키텍처를 강연해주시더라고요. 레이어의 개수보다 의존 관계 및 방향이 중요하다는 점, 엔티티와 유즈케이스를 외부 관심사로부터 분리해야 한다는 점을 말씀하셨습니다. 또한 안드로이드는 compose, hilt/koin(DI), flow, coroutine 등 정형화된 구조를 딥다이브하는게 좋다고 하셨는데요. 공부하는 데에 있어 힘들지만 좋은 동기부여가 될 수 있었던 유익한 시간이었습니다. 오늘은 저번에 이어 클린 아키텍처의 도메인 레이어를..
-
Domain 레이어란?Clean Architecture 2025. 7. 20. 21:43
안녕하세요. 오늘 초복이네요 ^^ 비 온 뒤로 햇빛이 너무 강해서 우산을 양산처럼 쓰고 다니고 있어요. 오늘은 클린 아키텍처의 도메인 레이어에 대해 알아보고자 합니다. 먼저 저번에 보여드린 밥아저씨의 클린 아키텍처 그림을 한번 살펴보겠습니다! 밥아저씨의 클린 아키텍처에서 안쪽의 UseCases 와 Entities 가 위치하는 곳이 바로 도메인 레이어로 볼 수 있습니다. 도메인 레이어는 순수 비즈니스 로직과 앱의 핵심 규칙을 정의하는 영역입니다. 다른 어떤 레이어도 의존해서는 안되며, 어떤 외부 변경이 도메인 영역에 영향을 주면 안됩니다. 위의 클린 아키텍처 영역을 6개의 레이어(모듈)로 분리하면 아래와 같습니다. User Interface(UI) 레이어, Presentation 레이어, Domain 레이..
-
클린 아키텍처 파헤쳐보기Clean Architecture 2025. 4. 20. 22:25
안녕하세요! 이번에는 저번에 소개한 클린 아키텍처에 대해 좀 더 깊게 파헤쳐보도록 하겠습니다! 혹시 어플 사용하실 때 시간이 지남에 따라 UI 가 조금씩 바뀌는걸 체감하시나요? 이처럼 UI 는 디자이너나 앱 사용자의 요청으로 쉽게 변할 수 있는 부분입니다. 따라서 UI 를 격리하는 부분, 이에 초점을 맞춘 디자인 패턴이 고민거리였습니다. MVP, MVVM, MVI 등 여러 디자인 패턴 등이 언급되었고, compose 같은 선언형 UI 도 등장했습니다. 앱의 규모가 커질수록 아키텍처 설계에 대한 중요성이 커지게 되어 이에 대한 관심도가 높아졌습니다. 안드로이드 공식 문서에서도 앱 권장 아키텍처를 소개하고 있습니다. 여기서는 UI, Domain, Data 로 세 개의 계층으로 구분합니다. UI 계층은 데이터..
-
클린 아키텍처 소개Clean Architecture 2025. 4. 6. 16:30
안드로이드에서 중요한 개념인 클린 아키텍처에 대해 소개해보고자 합니다.클린 아키텍처란?클린 아키텍처는 소프트웨어의 구조를 설계할 때 지켜야 할 원칙과 방법을 의미합니다. 관련 다이어그램을 살펴볼까요? 클린 아키텍처는 여러 계층으로 나누어져 있는데요. 먼저 의존성 규칙과 모듈의 의미에 대해 먼저 알아보겠습니다. 의존성 규칙과 모듈각 계층은 바깥에서 안쪽 방향으로 의존합니다. 따라서, 외부는 내부를 알 수 있지만 내부는 외부에 대해서 알지 못합니다.그리고, 외부의 변경사항이 내부에 변경을 주면 안됩니다. 모듈에는 고수준 모듈과 저수준 모듈이 있는데요. 관련해서 표로 정리해보았습니다. 고수준 모듈저수준 모듈핵심적인 비지니스 로직 (추상화)상세한 기능 구현변경사항 거의 없음변경사항이 잦음동심원 안쪽동심원 바깥..