MVVM on Android Using
Data Binding Library
By: Javad Arjmandi
Spring 2018
irLogcat
Tehran, Iran
Architectural Pattern
• Much like Design Patterns but in a broader
scope
• Also called Behavioral Patterns
• Answers to the roles of each class/module
• Helps maintain the software in a conventional
way
Model-View-ViewModel
Image courtesy of Microsoft Developer Network
The Model
• It’s NOT a POJO
• Holds the data
• Is not necessarily the creator/provider of the
data
• Similar to Back-end of a Client-Server model
Application
The View
• Static and dynamic views provided in static files
such as XML or XAML (for WPF)
• Little or no logic code is contained by The View
• Event handling, action and data manipulation
logic code shouldn’t be in the code behind in
View.
The ViewModel
• Data provider for views.
• Data interaction and manipulation
• Most of the logic of the application
• Is isolated from the view behavior wether static
or dynamic
MVVM vs. MVC
• ViewModel is identical to Controller, but they
differ in nature
• Full separation of UI and Logic
• Models are more than just models; They have
functionalities as well
What is Two-Way Binding?
Data Binding Library
• Introduced in Google I/O 2015
• No longer need to glue
• Views and layouts are first class java objects
Talk is cheap;
Show me the code!
More Resources
• Husayn Hakeem’s Articles in medium.com
• Official developer guide for Data Binding Library
on d.android.com
• MSDN documents on MVVM
• Google :)
Credits
• Beeptunes Company
• irLogcat team
• Davud Hosseiny
• Ashkan Taravati
• You!
Special Thanks to…

More Related Content

PPTX
Model View Controller(MVC)
PDF
MVC - In Details
PPTX
Model View Controller ext4
PPTX
4. Introduction to ASP.NET MVC - Part I
PPTX
Mvc framework
PPTX
Design patterns
Model View Controller(MVC)
MVC - In Details
Model View Controller ext4
4. Introduction to ASP.NET MVC - Part I
Mvc framework
Design patterns

What's hot (13)

PDF
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
PPT
Data Access
PPTX
Case study- PL-SQL API as data protection mechanism
PPTX
Adding Another "M" to MVC: MVCM
PDF
iOS architecture patterns
PPTX
Asp.Net Core MVC with Entity Framework
PPT
LINQ 2 SQL Presentation To Palmchip And Trg, Technology Resource Group
PPTX
Pattern oriented architecture for web based architecture
PPTX
The Future of Data Models
PPTX
Software Architecture Patterns
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
Data Access
Case study- PL-SQL API as data protection mechanism
Adding Another "M" to MVC: MVCM
iOS architecture patterns
Asp.Net Core MVC with Entity Framework
LINQ 2 SQL Presentation To Palmchip And Trg, Technology Resource Group
Pattern oriented architecture for web based architecture
The Future of Data Models
Software Architecture Patterns
Ad

Similar to MVVM Presentation (20)

PDF
MVP Clean Architecture
PPTX
MVVM with WPF
 
PPTX
Architectural Design & Patterns
PPTX
Module2
PPTX
Design Pattern - MVC, MVP and MVVM
PPTX
Mobile App Architectures & Coding guidelines
PPTX
MVC Framework
PDF
Introduction To MVVM
PPT
Web engineering - MVC
PDF
Code decoupling from Symfony (and others frameworks) - PHP Conf Asia 2018
PDF
PPTX
MVVM and Prism
PPTX
Laravel session 1
PPTX
Adopting MVVM
PPTX
MWLUG 2015 - An Introduction to MVC
PPTX
Using mvvm inside mvc in domain driven design
PPTX
Entity Framework: To the Unit of Work Design Pattern and Beyond
PPTX
Spring Web Presentation 123143242341234234
PPTX
Joe Ulyatt MVC Lecture
MVP Clean Architecture
MVVM with WPF
 
Architectural Design & Patterns
Module2
Design Pattern - MVC, MVP and MVVM
Mobile App Architectures & Coding guidelines
MVC Framework
Introduction To MVVM
Web engineering - MVC
Code decoupling from Symfony (and others frameworks) - PHP Conf Asia 2018
MVVM and Prism
Laravel session 1
Adopting MVVM
MWLUG 2015 - An Introduction to MVC
Using mvvm inside mvc in domain driven design
Entity Framework: To the Unit of Work Design Pattern and Beyond
Spring Web Presentation 123143242341234234
Joe Ulyatt MVC Lecture
Ad

Recently uploaded (20)

PDF
Soil Improvement Techniques Note - Rabbi
PPTX
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
PPTX
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
PPTX
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
PDF
distributed database system" (DDBS) is often used to refer to both the distri...
PPTX
Information Storage and Retrieval Techniques Unit III
PDF
August -2025_Top10 Read_Articles_ijait.pdf
PPTX
CN_Unite_1 AI&DS ENGGERING SPPU PUNE UNIVERSITY
PPTX
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
PDF
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
PDF
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
PPTX
Measurement Uncertainty and Measurement System analysis
PPTX
Management Information system : MIS-e-Business Systems.pptx
PPT
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
PPTX
Feature types and data preprocessing steps
PPTX
mechattonicsand iotwith sensor and actuator
PDF
August 2025 - Top 10 Read Articles in Network Security & Its Applications
PPTX
CONTRACTS IN CONSTRUCTION PROJECTS: TYPES
PPTX
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
PPTX
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...
Soil Improvement Techniques Note - Rabbi
AUTOMOTIVE ENGINE MANAGEMENT (MECHATRONICS).pptx
Graph Data Structures with Types, Traversals, Connectivity, and Real-Life App...
Chemical Technological Processes, Feasibility Study and Chemical Process Indu...
distributed database system" (DDBS) is often used to refer to both the distri...
Information Storage and Retrieval Techniques Unit III
August -2025_Top10 Read_Articles_ijait.pdf
CN_Unite_1 AI&DS ENGGERING SPPU PUNE UNIVERSITY
Chapter 2 -Technology and Enginerring Materials + Composites.pptx
UEFA_Carbon_Footprint_Calculator_Methology_2.0.pdf
Accra-Kumasi Expressway - Prefeasibility Report Volume 1 of 7.11.2018.pdf
Measurement Uncertainty and Measurement System analysis
Management Information system : MIS-e-Business Systems.pptx
Chapter 1 - Introduction to Manufacturing Technology_2.ppt
Feature types and data preprocessing steps
mechattonicsand iotwith sensor and actuator
August 2025 - Top 10 Read Articles in Network Security & Its Applications
CONTRACTS IN CONSTRUCTION PROJECTS: TYPES
ASME PCC-02 TRAINING -DESKTOP-NLE5HNP.pptx
Sorting and Hashing in Data Structures with Algorithms, Techniques, Implement...

MVVM Presentation

  • 1. MVVM on Android Using Data Binding Library By: Javad Arjmandi Spring 2018 irLogcat Tehran, Iran
  • 2. Architectural Pattern • Much like Design Patterns but in a broader scope • Also called Behavioral Patterns • Answers to the roles of each class/module • Helps maintain the software in a conventional way
  • 3. Model-View-ViewModel Image courtesy of Microsoft Developer Network
  • 4. The Model • It’s NOT a POJO • Holds the data • Is not necessarily the creator/provider of the data • Similar to Back-end of a Client-Server model Application
  • 5. The View • Static and dynamic views provided in static files such as XML or XAML (for WPF) • Little or no logic code is contained by The View • Event handling, action and data manipulation logic code shouldn’t be in the code behind in View.
  • 6. The ViewModel • Data provider for views. • Data interaction and manipulation • Most of the logic of the application • Is isolated from the view behavior wether static or dynamic
  • 7. MVVM vs. MVC • ViewModel is identical to Controller, but they differ in nature • Full separation of UI and Logic • Models are more than just models; They have functionalities as well
  • 8. What is Two-Way Binding?
  • 9. Data Binding Library • Introduced in Google I/O 2015 • No longer need to glue • Views and layouts are first class java objects
  • 10. Talk is cheap; Show me the code!
  • 11. More Resources • Husayn Hakeem’s Articles in medium.com • Official developer guide for Data Binding Library on d.android.com • MSDN documents on MVVM • Google :)
  • 12. Credits • Beeptunes Company • irLogcat team • Davud Hosseiny • Ashkan Taravati • You! Special Thanks to…