본문 바로가기

Android/Architecture10

[Android] 앱 아키텍처 가이드 (4) - Domain Layer Domain Layer정의UI Layer와 Data Layer 사이에 있는 선택적 Layer로,복잡한 비즈니스 로직 또는 여러 ViewModel에서 재사용되는 간단한 비즈니스 로직의 캡슐화를 담당한다. Domain Layer의 장점코드 중복 방지가독성 향상테스트 용이성책임 분할을 통한 대형 클래스 분리  Domain Layer의 네이밍 규칙현재 시제의 동사 + 명사/대상(선택사항) + UseCase예를 들면 "LogOutUserUseCase", "GetLatestNewsithAuthorUsecase", "MakeLoginRequestUsecase"가 있다.   종속 항목1.  UseCase 클래스는 UI Layer의 ViewModel과 Data Layer의 Repository 사이에 위치한다.즉, Rep.. 2023. 5. 15.
[Android] 앱 아키텍처 가이드 (3) - Data Layer Data 계층데이터 계층은 앱 데이터의 생성과 저장 및 변경 로직에 관련된 계층이다.-> 데이터 계층의 관심사는 앱 데이터를 생성/저장/변경/삭제 하는것에만 맞춰져있다.앱 데이터의 CRUD 로직과 관련된 계층이라는 뜻이다.CRUD는 Create, Read, Update, Delete의 약자이다. Data 계층의 아키텍처Data 계층을 구성하는 계층Repository 계층Datasource 계층 Repository  계층과 DataSource 계층의 관계Repository 계층은 DataSource 계층을 참조한다.Repository 계층에서 DataSource 계층의 코드를 호출한다는 것이다.-> UI 계층에서 처리할 수 없는 비즈니스 로직 처리가 필요하거나 앱 데이터 생성/저장/변경 처리가 필요한 경우.. 2023. 5. 1.
[Android] 앱 아키텍처 가이드 (2) - UI Layer UI LayerUI Layer의 역할은 화면에 앱 데이터를 표시하는 것따라서, 사용자 상호작용(ex. 버튼 누르기) 또는 외부 입력(ex. 네트워크 응답)으로 인해 데이터가 변할 때마다 변경사항을 반영하도록 UI가 업데이트 되어야 함사실상 UI Layer는 Data Layer에서 가져온 앱 데이터를 시각적으로 보여주는 것에 관심이 있다. UI Layer의 구성 요소 UI = UIelements + State holders UIelements: UI 요소가 갖는 본질적인 상태예시 TextView의 font, font size, font colorandroid: fontandroid: fontSizeState holders: 화면의 UI요소에 데이터를 보여주기 위해 필요한 앱 데이터예시NewsUiState .. 2023. 4. 29.
[Android] 앱 아키텍처 가이드 (1) - 개요 모바일앱 사용자 환경일반적인 Android 앱에는 activity, fragment, service, content provider, broadcast receiver를 비롯하여 여러 앱 구성요소가 포함됩니다. 개발자는 앱 매니페스트에서 이러한 앱 구성요소 대부분을 선언하며, Android OS는 이 파일을 사용하여 기기의 전반적인 사용자 경험에 앱을 통합하는 방법을 결정하구요. 일반적인 Android 앱은 여러 구성요소를 포함할 수 있고, 사용자는 짧은 시간 내에 여러 앱과 상호작용할 때가 많습니다. (유튜브를 보다가 크롬을 켜 검색을 한다던지, 카메라로 사진을 찍고 편집을 위해 갤러리에 들어간다던지 등등)따라서, 앱은 사용자 중심의 다양한 워크플로 및 작업에 맞게 조정될 수 있어야합니다.  또한 휴대.. 2023. 4. 12.