Corgi 안드로이드 클린 아키텍처
본문 바로가기
코딩/안드로이드(android)

안드로이드 클린 아키텍처

by 짱아아빠 2024. 4. 11.
반응형

안드로이드를 공부하면서 우연히 클린 아키텍처를 보게되어 찾아보았다.

반응형

안드로이드에서의 클린 아키텍처는 앱의 소프트웨어 아키텍처를 설계하는 방법 중 하나입니다. 이 아키텍처는 코드를 모듈화하고 의존성을 관리하여 유지보수성이 높고 테스트 가능한 앱을 만들기 위해 고안되었습니다. 클린 아키텍처는 주로 다음과 같은 주요 구성 요소로 이루어집니다.

  1. 프레젠테이션 계층 (Presentation Layer):
    • 액티비티(Activity) 또는 프래그먼트(Fragment)와 같은 안드로이드 프레임워크의 구성 요소들이 속하는 곳입니다.
    • 사용자 인터페이스와 상호작용하고 사용자의 입력을 처리합니다.
    • 뷰(View)와 뷰 모델(ViewModel)이 포함될 수 있습니다.
  2. 도메인 계층 (Domain Layer):
    • 비즈니스 로직이 구현되는 곳입니다.
    • 도메인 모델과 비즈니스 규칙이 정의됩니다.
    • 안드로이드 프레임워크나 외부 라이브러리에 대한 의존성이 없어야 합니다.
  3. 데이터 계층 (Data Layer):
    • 데이터 액세스와 관련된 코드가 위치하는 곳입니다.
    • 로컬 데이터베이스, 네트워크 호출, 파일 시스템과 같은 데이터 소스들과 상호작용합니다.
    • 데이터 소스들에 대한 추상화와 외부 의존성을 최소화합니다.

클린 아키텍처의 주요 목표는 의존성 역전 원칙(Dependency Inversion Principle)을 따르고, 소스 코드의 결합도를 낮추고 응집도를 높여야 합니다. 이를 통해 유연하고 테스트 가능한 코드를 작성할 수 있습니다. 또한, 이 아키텍처는 안드로이드 프레임워크나 외부 라이브러리와의 결합도를 낮추어 변경에 대응하기 쉬운 앱을 구현할 수 있도록 합니다.

클린 아키텍처는 다양한 디자인 패턴과 함께 사용될 수 있으며, 주로 MVVM(Model-View-ViewModel), MVP(Model-View-Presenter), 또는 MVI(Model-View-Intent)와 같은 패턴과 결합하여 사용됩니다.

반응형

댓글