MVP
- view 는 항상 in/out 만 할 것
- in/out 외 다른 작업들은 모두 presenter 가 처리
- presenter 가 M(model) 과 작업
- view에는 각각의 함수만 존재 (성공, 아이디없음, 등)
- presenter 에서 분기를 가지고 해당 분기에 대한 view 함수만 호출 (view 에는 분기가 없음)
- presenter 에서 성공시 -> view 의 성공함수 호출
- presenter 에서 아이디 없음 -> view의 아이디없음 함수 호출
- view 와 presenter 가 서로를 알고 있음 (1:1 대응, 액티비티/프래그먼트 하나당 presenter 하나 생성)
- 추가 :: presenter 가 생성자의 인자값으로 view를 가지고, view에서 presenter 객체를 생성하면서 view.this 를 전달하게 됨
- presenter 에서 repository 를 호출하는데 이 때 repository 는 싱글톤의 형태가 좋음
- repository가 인스턴스마다 다른 역할을 하는 것이 아니기 때문에 싱글톤이 좋음
- Contract (interface) 가 view와 presenter 사이의 소통 담당
- Contract 내부에 viw 와 presenter interface 를 가짐
- presenter 에선 Contract.View 객체를 가지고 있음 (Contract.View의 함수에만 접근가능하게 함)
'탐구영역' 카테고리의 다른 글
[STUDYFORK] 4주차 (DataBinding) (0) | 2020.01.29 |
---|---|
[Android] Spinner (스피너) (0) | 2020.01.12 |
[STUDYFORK] 2주차 노트 (Data Model) (0) | 2019.12.29 |
[STUDYFORK] 스터디 1주차 노트 (0) | 2019.12.29 |
[android] AWS S3 파일 업로드 및 다운로드 (0) | 2019.10.01 |
댓글