repository (3) 썸네일형 리스트형 [안드로이드] Repository 패턴 개요 Repository는 MVVM, MVP와 같은 아키텍쳐 패턴을 사용할 때 주로 등장하는 개념이다. 그리고 이 Repository의 사용 이유 역시 관심사의 분리이다. Repository는 데이터, 데이터 소스와 ViewModel(혹은 Presenter) 사이의 종속성을 줄여준다. 이는 유지보수 및 테스트가 쉬워진다는 의미이다. 마치 네트워크의 TCP/IP 5계층과 비슷하다고도 볼 수있다. Repository는 데이터를 캡슐화한다. 그리고 안드로이드에서는 보통 다음과 같은 아키텍쳐를 사용한다. 위처럼 구현하게되면 오직 Repository만 복수의 요소들과 종속되어 있고, activity, ViewModel은 오직 하위 계층 요소 단 한개에만 종속되었음을 볼 수 있다. ViewModel에서는 UI를 업.. [안드로이드] 예제:MVVM+AAC를 이용한 RecyclerView 2 구현 과정 1. 프로젝트 구성 2. Room 영속성 라이브러리 관련 클래스 구현 3. Repository 구현 4. ViewModel 구현 5. MainActivity 구현 6. RecyclerView 구현 7. AddActivity 구현 Todo.kt : Entity id, title, decripton 필드를 가진 data class를 정의한다. @Entity data class Todo( //autoGenerate는 null을 받으면 ID 값을 자동으로 할당해줌 @PrimaryKey(autoGenerate = true) var id: Int?, @ColumnInfo(name ="title") var title: String, @ColumnInfo(name="description") var descr.. [안드로이드] 1. MVVM 개요 MVVM MVVM이란 Model, View, ViewModel로 표현하는 안드로이드 개발의 구현 패턴이다. 기존의 구현 방식의 경우 액티비티에 너무 많은 기능이 집중되어(종속성의 증가) 유지보수 및 테스트가 힘들어진다. 이러한 문제를 해결하기 위해 MVVM패턴을 주로 사용한다. MVC와 MVVM 기존의 MVC(Model-View-Controller)의 경우 액티비티가 컨트롤러의 역할을 맡고, xml 파일인 뷰와 연결되어 사용자와 상호작용을 하고, 그와 동시에 액티비티는 모델과도 연결되어 데이터 처리도 담당했다. 즉, 뷰와 모델 사이에서 이름 그대로 controller의 역할을 수행하였다. MVVM의 경우 뷰에서 뷰모델, 뷰모델에서 모델로 작업을 단방향으로 처리하며, 뷰에서 뷰모델을 관찰하여 데이터의 변경.. 이전 1 다음