View는 인터페이스의 뷰이기도 하고 액티비티나 프래그먼트와 같은 뷰 컨트롤러에 인터페이스를 구현해서 뷰 콜백을 받을 수 있도록 구성하는 것이기도 함
Presenter : 비즈니스 로직과 뷰를 제어
Presenter는 모델과 뷰를 함께 관리를 하긴 하는데, 인터페이스를 통해서 뷰에 넣어줄 데이터를 단순하게 추상화해서 구현함.
View는 ViewModel을 알고있지만 ViewModel은 View를 알지못함(단방향)
ViewModel은 Model에서 데이터를 가져오고 데이터를 broadcasting함
View는 Observer패턴을 통해서 데이터에 변화가 생겼을때 view를 업데이트함