신입 게임 개발자의 프로그래밍 일기

Google의 TODO-MVP 이해 및 분석하기(1) - README.md 본문

Android/MVP

Google의 TODO-MVP 이해 및 분석하기(1) - README.md

KFGD 2017. 1. 24. 16:03

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)


Comments