SlideShare a Scribd company logo
A N D R O I D
A R C H I T E C T U R E S
MVC, MVP, MVVM
A B O U T M E
Majid Ramezanpour
majid.ramezanpour@gmail.com
I F Y O U T H I N K G O O D A R C H I T E C T U R E I S
E X P E N S I V E , T R Y B A D A R C H I T E C T U R E .
—BRIAN FOOTE AND JOSEPH YODER
M V C M V P M V V M
Model
View
Controller
Model
View
Presenter
Model
View
ViewModel
W H Y C O D E I S I N B A D
S H A P E W I T H O U T
A R C H I T E C T U R E ?
keep track of the logic
 Unit Tests coverage
difficult to debug
Maintenance
Scalability
M V C
UI changes a lot more than logic
desktop& web wanted separating UI
functionality
Model
View
Controller
Data Layer
UI Layer
Logic Layer
handling network or database
get notified of user's behavior
and update model as needed
MVC
Point of MVC was to make Model
testable
So
View & Controller
was dependent on platform
P R O B L E M
W I T H M V C ?
Testability? difficult to unit test
Modularity? model tightly coupled
to views
Maintenance? more&more code
transfers to controller and get
bloated
M V P
BREAKS CONTROLLER
Model
View
Presenter
Data Layer
UI Layer
Logic Layer
handling network or database
Controller from MVC without
any reference to Android
Activity/Fragment is part of
view + layout.xml
MVP
MVP
M V V M
ARCHITECTURE
with DataBiding
Easier Testing and Modularity
Reduce Code to Connect View + Model
Android Architectures
Model
View
ViewModel
Data Layer
UI Layer
Logic Layer
handling network or database
Like Presenter in MVP but
can't access View directly.
Bind to Observable variables
and action exposed by
ViewModel
Android Architectures
T H A N K S

More Related Content

PPTX
Chris Grist O365 Saturday 2019
PPTX
Next Steps for New WordPress Users
PPTX
WordCamp Baltimore 2016
PPTX
How to Make WordPress Your Friend
PPTX
SEO Before Yoast: WordCamp Rhode Island
PPTX
Typography and grids
PPT
F36 Blogging Presentation
PDF
Lean frontend development
Chris Grist O365 Saturday 2019
Next Steps for New WordPress Users
WordCamp Baltimore 2016
How to Make WordPress Your Friend
SEO Before Yoast: WordCamp Rhode Island
Typography and grids
F36 Blogging Presentation
Lean frontend development

What's hot (7)

PPT
Top 9 WordPress Links For #WPMIA - October 2013
PDF
justcode brochure
PDF
Nuovo Sito Aicp - Associazione Italiana per la Cultura Previdenziale
PDF
Karumi Dojo - String Calculator Kata
Top 9 WordPress Links For #WPMIA - October 2013
justcode brochure
Nuovo Sito Aicp - Associazione Italiana per la Cultura Previdenziale
Karumi Dojo - String Calculator Kata
Ad

Similar to Android Architectures (20)

PDF
Models used in iOS programming, with a focus on MVVM
PPTX
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
PPTX
MVVM presentation
PDF
How I Accidentally Discovered MVVM
PDF
Ui design patterns
PDF
MVVM-C vs MVP
PPTX
Android DesignArchitectures.pptx
PDF
iOS architecture patterns
PPTX
Android Architectures
PDF
"iOS: MVVMC" - Aleksandr Nikolajev from Mooncascade
PDF
MVP Clean Architecture
PPTX
MVVM ( Model View ViewModel )
PPTX
Difference between Software Architectural pattern
PPTX
iOS design patterns: MVC, MVP and MVVM
PPTX
Mobile App Architectures & Coding guidelines
PPTX
MVP in Android by Ratanak
PPTX
MVP vs MVVM : a fast introduction
PPSX
Android architecture components
PDF
Choosing the architecture
PDF
Mvc, mvp, mvvm...
Models used in iOS programming, with a focus on MVVM
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
MVVM presentation
How I Accidentally Discovered MVVM
Ui design patterns
MVVM-C vs MVP
Android DesignArchitectures.pptx
iOS architecture patterns
Android Architectures
"iOS: MVVMC" - Aleksandr Nikolajev from Mooncascade
MVP Clean Architecture
MVVM ( Model View ViewModel )
Difference between Software Architectural pattern
iOS design patterns: MVC, MVP and MVVM
Mobile App Architectures & Coding guidelines
MVP in Android by Ratanak
MVP vs MVVM : a fast introduction
Android architecture components
Choosing the architecture
Mvc, mvp, mvvm...
Ad

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Big Data Technologies - Introduction.pptx
PDF
Approach and Philosophy of On baking technology
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Cloud computing and distributed systems.
PPT
Teaching material agriculture food technology
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
cuic standard and advanced reporting.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Unlocking AI with Model Context Protocol (MCP)
Chapter 3 Spatial Domain Image Processing.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Big Data Technologies - Introduction.pptx
Approach and Philosophy of On baking technology
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Digital-Transformation-Roadmap-for-Companies.pptx
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25 Week I
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Cloud computing and distributed systems.
Teaching material agriculture food technology
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
cuic standard and advanced reporting.pdf
The AUB Centre for AI in Media Proposal.docx
Per capita expenditure prediction using model stacking based on satellite ima...

Android Architectures

  • 1. A N D R O I D A R C H I T E C T U R E S MVC, MVP, MVVM
  • 2. A B O U T M E Majid Ramezanpour majid.ramezanpour@gmail.com
  • 3. I F Y O U T H I N K G O O D A R C H I T E C T U R E I S E X P E N S I V E , T R Y B A D A R C H I T E C T U R E . —BRIAN FOOTE AND JOSEPH YODER M V C M V P M V V M Model View Controller Model View Presenter Model View ViewModel
  • 4. W H Y C O D E I S I N B A D S H A P E W I T H O U T A R C H I T E C T U R E ? keep track of the logic  Unit Tests coverage difficult to debug Maintenance Scalability
  • 5. M V C UI changes a lot more than logic desktop& web wanted separating UI functionality
  • 6. Model View Controller Data Layer UI Layer Logic Layer handling network or database get notified of user's behavior and update model as needed
  • 7. MVC
  • 8. Point of MVC was to make Model testable So View & Controller was dependent on platform
  • 9. P R O B L E M W I T H M V C ? Testability? difficult to unit test Modularity? model tightly coupled to views Maintenance? more&more code transfers to controller and get bloated
  • 10. M V P BREAKS CONTROLLER
  • 11. Model View Presenter Data Layer UI Layer Logic Layer handling network or database Controller from MVC without any reference to Android Activity/Fragment is part of view + layout.xml
  • 12. MVP
  • 13. MVP
  • 14. M V V M ARCHITECTURE with DataBiding Easier Testing and Modularity Reduce Code to Connect View + Model
  • 16. Model View ViewModel Data Layer UI Layer Logic Layer handling network or database Like Presenter in MVP but can't access View directly. Bind to Observable variables and action exposed by ViewModel
  • 18. T H A N K S