신입 게임 개발자의 프로그래밍 일기
Google의 TODO-MVP 이해 및 분석하기(1) - README.md 본문
Github(GoogleSamples/android-architecture): https://github.com/googlesamples/android-architecture/tree/todo-mvp/
README.md(막 번역)
TODO-MVP
(개요)
-이 샘플은 많은 변형들의 기본입니다.
이것은 Architectural Framework가 없는 Model-View-Presenter패턴의 간단한 구현을 보여줍니다.
Manual Dependency Injenction(무슨뜻?)을 사용하여 저장소에 로컬과 원격지 자원을 제공합니다.
비동기적 업무들을 콜백들을 활용하여 다루고 있습니다.
주의: MVP문맥 속에서, "view"라는 단어는 여러 의미로 정의되어있습니다.
-클래스 android.view.View는 "Android View"로 작성
-MVP속 presenter로부터 명령들을 전달받는 view는 간단하게 "View"로 작성
(Fragments)
Fragment들을 사용하는 두가지 이유:
-Activity와 Fragment 사이의 구분은 MVP 구현에 잘 맞습니다.: Activity는 View와 Presenter를 만들고 연결하는 통합 컨트롤러입니다.
-여러개의 View들이 있는 Screen들 또는 Tablet layout은 Fragment Framework의 이점을 사용합니다.
(Key concepts)
-App 속에 있는 4가지 특징들
1. Tasks
2. TaskDetail
3. AddEditTask
4. Statistics
-각 특징들이 가지는:
1. View와 Presenter를 정의하는 Contract
2. Fragment들과 Presenter들의 생성에 대한 책임이 있는 Activity
3. View 인터페이스를 구현하는 Fragment
4. Presenter 인터페이스를 구현하는 Presenter
-일반적으로, Business Logic은 Presenter속에 있고 Android UI 업무를 수행하는 View에 의존합니다.
-View는 거의 어떤 Logic도 포함하지 않습니다.:View는 Presenter의 명령들을 UI 액션들로 변환하고
Presenter에 전달되는 User의 액션들을 감지합니다.
-Contract들은 View들과 Presenter들 사이의 연결을 정의하기 위해 사용하는 인터페이스들입니다.
(Dependencise)
-Common Android Support Libraries(com.android.support.*)
-Android Testing Support Library(Espresso, AndridJUnitRunner...)
-Mockito
-Guava(null checking)