[kotlin] 안드로이드 애플리케이션 아키텍처

본 문서에서는 안드로이드 애플리케이션을 설계하고 구축할 때 고려해야 할 아키텍처에 대해 다룹니다.

목차

  1. 안드로이드 애플리케이션 아키텍처란?
  2. MVC 아키텍처
  3. MVVM 아키텍처
  4. Clean 아키텍처
  5. 참고 자료

안드로이드 애플리케이션 아키텍처란?

안드로이드 애플리케이션 아키텍처란 애플리케이션을 구성하는 컴포넌트나 모듈들 간의 관계와 역할에 대한 설계 원칙과 가이드라인을 의미합니다. 적절한 아키텍처를 선택하고 적용하여 유지보수성, 테스트 용이성, 확장성 등을 향상시킬 수 있습니다.

MVC 아키텍처

MVC(Model-View-Controller) 아키텍처는 모델, 뷰, 컨트롤러로 구성됩니다. 모델은 데이터와 비즈니스 로직을 담당하고, 뷰는 사용자 인터페이스를 표시하며, 컨트롤러는 사용자 입력을 처리합니다. 안드로이드 애플리케이션에서는 ActivityFragment가 컨트롤러의 역할을 하며, XML 레이아웃 파일이 뷰를 정의합니다.

MVVM 아키텍처

MVVM(Model-View-ViewModel) 아키텍처는 모델, 뷰, 뷰모델로 구성됩니다. 모델은 MVC와 동일하며, 뷰는 화면을 표시하는 역할을 하고, 뷰모델은 뷰와 모델 사이에서 데이터 바인딩과 비즈니스 로직을 처리합니다. 안드로이드 아키텍처 컴포넌트 라이브러리의 ViewModel 클래스를 사용하여 MVVM 아키텍처를 구현할 수 있습니다.

Clean 아키텍처

Clean 아키텍처는 독립적인 계층으로 애플리케이션을 구성하여 각 계층 간의 의존성을 최소화하고 유연성을 높입니다. 안드로이드에서 Clean 아키텍처를 구현하려면, Domain, Data, Presentation 등의 계층으로 구분하여 각 계층의 역할에 맞는 컴포넌트를 구현해야 합니다.

참고 자료