본문 바로가기

앱 개발/Chapter_Curriculum

Today I Learned and Studied

1) MVVM(Model-View-ViewModel) 패턴

 

- View
    - Activity , Fragment - xml 와 같이 화면에 보여지는 UI
    - 텍스트 입력, 버튼 터치 등과 같은 UI Event, Action 받음
    - UI 관련 로직 수행


- ViewModel
    - View에 필요한 데이터를 Model로부터 가져와 가공 및 변환
        - Network, DB Data 처리
    - UI와 관련된 데이터 처리
        - View와 관련된 Business Logic 처리
    - View가 Observe하고 있기 때문에 View가 데이터를 갱신할 수 있도록 LiveData로 변경사항 전달
    - Anti-pattern : View의 Context를 가지고 있으면 안됨
        - View와 ViewModel의 LifeCycle이 다르므로 memory leak 발생 가능성 있음

 

- Model
    - Data와 Business Logic을 담당
        - Data : DB, Network, File 데이터 소스

 

(참고: https://velog.io/@kyeun95/%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4-MVVM-%ED%8C%A8%ED%84%B4%EC%9D%B4%EB%9E%80)

 

 

2) 앱 개발 숙련 과제: 뷰바인딩, 리사이클러뷰 활용

728x90