Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MVVM, MVP e outras letrinhas

MVVM, MVP e outras letrinhas

Explicação sobre as principais características de clean architecture, MVP, MVVM e algumas interpretações errôneas sobre as mesmas.

Links:
https://speakerdeck.com/davidtcdeveloper/mvvm-mvp-e-outras-letrinhas

-----
David Tiago Conceição
https://twitter.com/@davidtiagocon
https://github.com/davidtcdeveloper
https://speakerdeck.com/davidtcdeveloper

GDG Floripa

July 18, 2017
Tweet

More Decks by GDG Floripa

Other Decks in Programming

Transcript

  1. View • Interação com usuário • Interação com componentes externos

    • Diferentes implementações ◦ Activities ◦ Fragments ◦ Views ◦ …
  2. MVP • View passiva • Contratos entre Presenter e View

    • Abstração da View no Presenter
  3. MVP

  4. MVP

  5. MVP • Pontos fortes ◦ Simplicidade ◦ Fácil entendimento ◦

    Contratos ◦ Frameworks adicionais opcionais
  6. MVP • Pontos de atenção ◦ Heavy Presenters ◦ Heavy

    Views ◦ Heavy Contracts ◦ Light Contracts ◦ Android Architecture Components
  7. MVVM • Pontos fortes ◦ Componentes reativos ◦ Altamente flexível

    ◦ Nenhum contrato ◦ Data binding ◦ Android Architecture Components
  8. MVVM • Pontos de atenção ◦ Heavy ViewModels ◦ Frameworks

    adicionais quase obrigatórios ◦ Data binding ▪ ObservableFields públicos ▪ Custom binding adapters ◦ Maior complexidade ◦ Memória
  9. Pontos polêmicos • Android no Presenter/ViewModel ◦ Context ◦ View

    ◦ Testes • Life cycle • Salvando estado ◦ Presenter/ViewModel ◦ Model
  10. Para saber mais? • Android Architecture Blueprints • Android Testing

    Codelab • Android Architecture Components • Zen Android MVVM • Presenters are not for persisting • Your presenters don’t need all those lifecycle events