티스토리 뷰

android

[android] MVVM 디자인 패턴 - AAC

tbMaster 2020. 5. 29. 14:12
반응형

"관심사 분리"

View는 UI컨트롤러를 통해 사용자와 상호작용하는 화면 영역이다.

ViewModel은 View에 제공되는 데이터를 관리하고, Model과 통신하기 위한 데이터 처리 비즈니스 로직을 수행함
ViewModel은 UI 구성요소를 알지 못하므로 구성변경에 영향을 받지 않음

ViewModel에서 UI 표출관련 데이터객체가 확보되면, View에 알려야하는데, 여기서 LiveData가 사용됨
LiveData는 식별가능한 데이터 홀더입니다. 
LiveData를 이용하면 해당 데이터를 이용하는 다른 구성요소들은 데이터 변경에 따른 사항들을 관찰할 수 있음.
LiveData는 이를 관찰하는 구성요소에 대한 수명주기를 고려하기 때문에 객체 유출, 과도한 메모리 소비를 방지하기 위한 로직을 포함

Repository는 데이터 작업을 처리하며, 외내부 데이터를 가져올 수 있음.
Repository를 통해서 ViewModel 영역은 데이터를 어디서 가져오는지 알 필요가 없음

 

Room 지속성 라이브러리는 SQLite를 간편하게 사용하도록 도움을 주고, 데이터 캐싱을 통해 일관된 데이터 정보를 보여준다. (네트워크 연결이 끊겼을 경우에 캐싱한 데이터를 전달)

 

dongsik93.github.io/til/2020/05/03/til-jetpack-room/

 

[Android] Room - 동식이 블로그

룸(Room) 지속성 라이브러리

dongsik93.github.io

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함