ViewModel

문제점

App architecture

app architecture를 사용해서 해결. 이는 MVVM(model-view-veiwmodel) 패턴과 유사하다.

separation of concerns 디자인 규칙.

UI controller

액티비티나 프래그먼트같은 UI기반 클래스.

UI 컨트롤러는 뷰를 보여주는 것, 유저 입력을 캡쳐하는것과같은 UI와 OS 상호작용을 다루는 로직만을 포함한다. decision-making logic은 넣지 않는다.

UI 컨트롤러는 ScoreFragment, TitleFragment, GameFragment가 있다.

GameFragment는 게임 요소를 화면에 그리고, 유저가 탭한 버튼을 아는것 뿐이다. 유저가 버튼을 탭하면 이 정보가 GameViewModel로 전달된다.

ViewModel