simple-mvp
Introduction: Framework canônico para aplicação do padrão Model View Presenter no Android
Tags:
Android-Model-View-Presenter-MVP
A Model View Presenter Library using plain and simple interfaces, based on concept from Dr. Douglas Schmidt
Attention:
simple-mvp is still an experimental library created for education purposes.
Some methods and operations may change until its maturity.
Created by Tin Megali
Learn more
- Step by step guide
-
Model View Presenter Tutorial series
Tutoriais também disponíveis em português - JavaDoc
Quick install
-
add build.gradle
compile 'com.tinmegali.mvp:mvp:0.0.7'
-
Create interfaces to communicate between MVP layers
-
interface RequiredViewOps extends ActivityView
with VIEW methods to be accessed by PRESENTER -
interface ProvidedPresenterOps extends PresenterOps
Operations offered to VIEW to communicate with PRESENTER -
interface RequiredPresenterOps
with Required PRESENTER methods available to MODEL -
interface ProvidedModelOps extends ModelOps
Operations offered to MODEL to communicate with PRESENTER
-
-
Implement MVP objects extending its generics
- MODEL from Model View Presenter (MVP) pattern.
class MODEL extends GenericModelimplements MVP_MainActivity.ProvidedModelOps - VIEW layer of MVP pattern
class VIEW_Activity extends GenericMVPActivityimplements MVP_MainActivity.RequiredViewOps
Could also extendGenericMVPFragment - PRESENTER from Model View Presenter (MVP) Pattern.
class MainPresenter extends GenericPresenterimplements MVP_MainActivity.RequiredPresenterOps, MVP_MainActivity.ProvidedPresenterOps
- MODEL from Model View Presenter (MVP) pattern.
Instalação rápida
-
Crie as interfaces de comunicação entre os módulos View, Presenter e Model
-
interface
RequiredViewOpsfornece métodos paraPresentercomunicar comView. É necessário extenderActivityView -
interface
ProvidedPresenterOpsfornece operações oferecidas ao layer View para comunicação com Presenter. É preciso extenderPresenterOps -
interface
RequiredPresenterOpsoperações oferecidas pelo layer Presenter para comunicações com Model -
interface
ProvidedModelOpsoperações oferecidos pelo layer Model para comunicações com Presenter. É preciso extenderModelOps
-
interface
-
Crie a classe
ModelextendendoGenericModele implementandoProvidedModelOpsex: {@link com.tinmegali.androidmvp.main.model.MainModel} -
Crie a classe
PresenterextendendoGenericPresenter, implementandoRequiredPresenterOpseProvidedPresenterOps. exemplo: {@link com.tinmegali.androidmvp.main.presenter.MainPresenter} -
Crie a classe
ViewGenericMVPActivity ou GenericMVPFragment e implementandoRequiredViewOpsExemplo: {@link com.tinmegali.androidmvp.main.view.MainActivity} .
Android MVP Class Diagram
