본문 바로가기

안드로이드

(60)
[안드로이드 클린 아키텍처 시리즈] 프로젝트 구조 설정 #4 1. 클린 아키텍처 프로젝트 구조 안녕하세요. 지난 시간까지는 안드로이드 클린 아키텍처의 이론에 대해서 공부했는데, 이번 포스팅부터는 안드로이드 클린 아키텍처를 직접 구현하는 과정을 설명하겠습니다. 안드로이드 클린 아키텍처를 구현할 때 모듈화는 각 계층의 독립성을 보장하고, 의존성을 명확하게 관리하는 데 중요한 역할을 한다고 설명했습니다. 먼저, 클린 아키텍처의 주요 계층인 UI Layer, Domain Layer, Data Layer 프로젝트 구조를 구현하겠습니다. 계층들을 모듈화함으로써, 각 계층은 서로 독립적으로 개발, 테스트 및 유지보수될 수 있습니다. 아래 순서대로 포스팅을 진행하겠습니다. Domain 모듈 생성 Data 모듈 생성 클린 아키텍처 계층별 의존성 설정 1. Domain 모듈 생성 ..
[안드로이드 클린 아키텍처 시리즈] Domain Layer 설명 및 이론정리 #3 선택적 계층인 Domain Layer는 어떤 역할을 수행하고 있을까? UI Layer와 Data Layer 사이에서 독립적으로 위치하여, 복잡한 비즈니스 로직이나 여러 ViewModel에서 재사용되는 간단한 비즈니스 로직의 캡슐화를 담당합니다. 중간 계층인 Domain Layer는 Data Layer를 의존할 것 같지만 Domain Layer는 어떤 계층에도 의존을 하지 않습니다. Repository Interface를 Domain Layer에서 정의하기 때문에 Data Layer에 의존을 하지 않아도 됩니다. (의존성 역전 법칙) Domain Layer의 주요 구성 요소 Domain Layer는 다음과 같은 주요 구성 요소로 이루어집니다. 엔터티 (Entity) 엔터티는 비즈니스 로직의 핵심 데이터를 ..
[안드로이드 클린 아키텍처 시리즈] Data Layer 설명 #2 Data Layer는 어떤 역할을 수행하고 있을까? Data Layer는 애플리케이션의 데이터 관리와 관련된 모든 책임을 지는 핵심적인 구성 요소입니다. 이 계층의 목적은 애플리케이션 내부와 외부의 데이터 소스로부터 데이터를 효율적으로 요청, 처리, 저장 및 제공하는 것입니다. 즉, 애플리케이션에서 사용하는 모든 데이터 소스(예: 로컬 데이터베이스, 웹 서비스, 캐시)와의 상호작용을 처리하게 됩니다. Data Layer의 설계와 구현은 애플리케이션의 성능, 확장성, 유지보수성에 직접적인 영향을 미치므로, 이를 자세히 이해하는 것이 중요합니다. Data Layer의 주요 구성 요소 Data Layer는 다음과 같은 주요 구성 요소로 이루어집니다. 데이터 소스 (Data Sources) 로컬 데이터베이스(예..
[안드로이드 클린 아키텍처 시리즈] 클린 아키텍처 소개 및 UI Layer 설명 #1 1. 클린 아키텍처 도입 배경 안녕하세요. 개발을 하면서 점점 복잡하고 거대해지는 소스코드 관리를 어떻게 하면 좋을까?라는 의문은 항상 쫓아다니는 것 같습니다. 저는 7년 경력의 개발자인데, 안드로이드 개발을 할 때도 MVC, MVP, MVVM 등 수많은 아키텍처 패턴 중 어떤 것을 사용할지는 프로젝트의 성격이나 규모에 따라서 정했던 것 같습니다. 그러던 중 희한한 구조를 볼 수 있었는데, 안드로이드 공식 개발 문서에서 권장되는 아키텍처로 소개하고 있는 클린 아키텍처였습니다. 그래서 신규 프로젝트는 클린 아키텍처를 도입해 보기로 결심했으나 상대적으로 높은 러닝커브가 작용하고 있었고, 이를 쉽게 정리해서 여러분께 소개하기 위해 포스팅을 작성하게 되었네요. 클린 아키텍처에 대해 최대한 간단하고 쉽게 정리해 ..