SlideShare a Scribd company logo
Pattern MVVM
In order to provide the platform SUE-Agile adequate structure and organanizzazione components
you chose to use the architectural pattern "Model View View-Model".
It consists in the separation of the aspects of the application into three components:
• Model
• View
• ViewModel
As can be deduced easily from the previous figure the Model represents the data access. This is
one or more classes that read data from the DB, or from a Web service of any kind.
The View is the view of the application, the user interface, while the ViewModel is the meeting point
between the View and the Model: the data received by the latter are processed to be presented and
passed to the View and vice versa.
The ViewModel (VM) can be thought of as an abstraction of view, but at the same time is also a
specialty of the view that the model used for data binding. The VM is particularly useful when the
Model is complex, or already exists and can not be changed, or when the data types of the model
are not easily connected to the view.
When the user interacts with the view, instantly the status change is communicated to the ViewModel
(thanks to the Data-Binding) and in response to the change of state or the activation of a method the
ViewModel "acts" by the Model and updates her status. The new state of ViewModel is then reflected
on the View.
It 'important that the ViewModel keep in their state not only the information retrieved through the
Model, but also the current state of the display: it allows him to be completely decoupled from View.
One way to visualize the concept is to think of the applications that make use of this pattern as a
tree composed of ViewModels, each responsible for a particular "area" of the user interface, which
realizes a whole a sort of state machine: each Once the user calls the application, and thus indirectly
the "machine", it reacts by changing its state and performing under its control the operations of the
business domain.
In this view, the view is reduced to a "glass" through which the user looks at the operation of the
"machine".
This allows for easy separation of the behavior of his "Look & Feel"; This is extremely beneficial in
development scenarios (lately more and more popular) in which aspects of User Experience are
treated by figures with precise skills, other than those necessary for the development and coding.
To facilitate this separation, the ViewModel must be designed in terms as possible abstract; for this
reason it is preferable to avoid direct dependencies View itself, or to specific components of the UI
technology. And 'quite common for modern applications make use of the so-called UI composition,
or of the ability to compose the user interface by dynamically creating several smaller parts, often
coordinates, placed in appropriate areas of a "scaffold" main called shell. A classic example
(probably among the most complex) of this technique is the UI of Visual Studio, consists of a large
number of panels, toolbars and document windows, fully customizable and extensible with new
components provided by plugins.
In addition to the purely "visual", however, the UI Composition requires the presence of some kind
of infrastructure to regulate and manage the life cycle (creation, initialization, activation, deactivation,
release) of the various portions of the screen.
The MVVM pattern does not prescribe a precise line for these aspects; the different implementations,
however, are divided into two main groups:
• View-First: the composition process is driven and urged by the View; the latter, that is,
determines which parts are to be made and in what area of the shell are shown. This setting
requires that the ViewModel associated with each part of the View is instantiated and
connected in the next stage;
• Model-First: the composition is handled primarily by instantiating the ViewModel connecting
and then the corresponding View. In this setting, which I consider more natural and in line
with the philosophy of MVVM, the composition takes place primarily at the level of the
ViewModel, by creating (also dynamic) of a "tree" of the various parts; View is to the left with
the task of representing this tree and its variations using the usual mechanisms of binding
and templating.
•
As mentioned in the previous paragraphs The ITS-Agile was developed in a type environment
.NET.Si it is then made use of the C # language in the part that interfaces with the data level, while
encoding the View-Model it was decided to use the script-language "Typescript", whose main
characteristics are better outlined in another section of the document. For the View were instead
exploited the potential and the innovations introduced by the mark-up language HTML5. Important
for the connection between these last two components was undoubtedly the Seller KnockoutJs that
has allowed to implement in a simple and optimal mechanisms of data-binding.
One of the biggest advantages of adopting this pattern is undoubtedly the ability to edit individual
parts of the code without affecting the other, thereby ensuring a better maintainability of the same
and greatly simplifying the testing phase.

More Related Content

PPTX
MVVM ( Model View ViewModel )
PPTX
MVVM with WPF
 
PPTX
Design Pattern - MVC, MVP and MVVM
PDF
Architecture logicielle #4 : mvc
PDF
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
PPTX
MVVM - KnockoutJS
PPTX
Training: MVVM Pattern
PPTX
Mvvm in the real world tccc10
MVVM ( Model View ViewModel )
MVVM with WPF
 
Design Pattern - MVC, MVP and MVVM
Architecture logicielle #4 : mvc
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
MVVM - KnockoutJS
Training: MVVM Pattern
Mvvm in the real world tccc10

What's hot (10)

PPTX
MVVM Design Pattern NDC2009
PPTX
MVx patterns in iOS (MVC, MVP, MVVM)
PPTX
MVVM In Use
PPTX
Microservices with mule
PPT
Facade pattern
PPTX
An overview of microsoft mvc dot net
PPTX
Mvvm basics
PPTX
Facade pattern presentation(.pptx)
MVVM Design Pattern NDC2009
MVx patterns in iOS (MVC, MVP, MVVM)
MVVM In Use
Microservices with mule
Facade pattern
An overview of microsoft mvc dot net
Mvvm basics
Facade pattern presentation(.pptx)
Ad

Viewers also liked (20)

PPT
SUE AGILE Framework (English)
PPTX
Evolucion
PDF
Condiçoesexames nee
DOC
DOC
28 palavras-3
PPTX
PPTX
Especialización en gerencia del talento humano
PDF
Presentación1
PPS
La Verdad De La Soja
DOCX
Biografía keysla zañartu laveriano
PPT
SUE AGILE Architecture (English)
PDF
Ofimatica web
PPTX
Carros
PDF
Mapa conceptual
PDF
PRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙ
PPTX
Zotero Checklist
PPTX
Atención Primaria / Medicina Interna Hospitalaria: ¿Condenados a entenderse?
PDF
SUE AGILE MVVM (Italian)
SUE AGILE Framework (English)
Evolucion
Condiçoesexames nee
28 palavras-3
Especialización en gerencia del talento humano
Presentación1
La Verdad De La Soja
Biografía keysla zañartu laveriano
SUE AGILE Architecture (English)
Ofimatica web
Carros
Mapa conceptual
PRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙ
Zotero Checklist
Atención Primaria / Medicina Interna Hospitalaria: ¿Condenados a entenderse?
SUE AGILE MVVM (Italian)
Ad

Similar to SUE AGILE MVVM (English) (20)

PPTX
Architectural Design & Patterns
PPTX
MVVM and Prism
PDF
Model View Controller (MVC)
PPTX
MVVM - Model View ViewModel
PPTX
Understanding The MVVM Pattern (TechDays Belgium)
PPTX
Using mvvm inside mvc in domain driven design
PPTX
Prism library and MVVM
PDF
KEY
What's new in Silverlight 5
PDF
Introduction To MVVM
PDF
How I Accidentally Discovered MVVM
PPTX
Android DesignArchitectures.pptx
ODP
Design Patterns in ZK: Java MVVM as Model-View-Binder
PPTX
UI Design Patterns
PPTX
MvvmCross
PPT
Design pattern in android
PDF
MvvmCross Seminar
PDF
MvvmCross Introduction
PDF
PPTX
Presentation Model
Architectural Design & Patterns
MVVM and Prism
Model View Controller (MVC)
MVVM - Model View ViewModel
Understanding The MVVM Pattern (TechDays Belgium)
Using mvvm inside mvc in domain driven design
Prism library and MVVM
What's new in Silverlight 5
Introduction To MVVM
How I Accidentally Discovered MVVM
Android DesignArchitectures.pptx
Design Patterns in ZK: Java MVVM as Model-View-Binder
UI Design Patterns
MvvmCross
Design pattern in android
MvvmCross Seminar
MvvmCross Introduction
Presentation Model

More from Sabino Labarile (20)

PPT
SUE AGILE - Presentazione della piattaforma
PDF
Manuale utente SUE AGILE
PPT
SUE AGILE Framework (Italiano)
PPT
SUE AGILE Architettura (Italiano)
PPTX
SUE AGILE - GUIDA ALL'UTILIZZO DELLA PIATTAFORMA
PPTX
e-suap - client technologies- english version
PPTX
e-suap cloud computing- English version
PDF
e-SUAP - Ochestration building block (italian)
PDF
e-SUAP - Ochestration building block (english)
PDF
e-SUAP - Security - Windows azure access control list (english version)
PDF
e-SUAP - Security - Windows azure access control list (italian version)
PDF
e-SUAP - General software architecture (Italiano)
PPT
E suap - tecnologie client
PDF
e-SUAP - Data access server side (English)
PPT
e-suap - general software architecture (English)
PDF
e-SUAP - General software architecture (English)
PPT
E suap - cloud computing (Italian)
PPT
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
PDF
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
PPT
Presentazione e-SUAP Forum PA - Roma - Palazzo dei congressi - 29 Maggio 2014
SUE AGILE - Presentazione della piattaforma
Manuale utente SUE AGILE
SUE AGILE Framework (Italiano)
SUE AGILE Architettura (Italiano)
SUE AGILE - GUIDA ALL'UTILIZZO DELLA PIATTAFORMA
e-suap - client technologies- english version
e-suap cloud computing- English version
e-SUAP - Ochestration building block (italian)
e-SUAP - Ochestration building block (english)
e-SUAP - Security - Windows azure access control list (english version)
e-SUAP - Security - Windows azure access control list (italian version)
e-SUAP - General software architecture (Italiano)
E suap - tecnologie client
e-SUAP - Data access server side (English)
e-suap - general software architecture (English)
e-SUAP - General software architecture (English)
E suap - cloud computing (Italian)
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-SUAP - Pubblicazione scientifica per evento Inista 2014 (International Symp...
Presentazione e-SUAP Forum PA - Roma - Palazzo dei congressi - 29 Maggio 2014

Recently uploaded (20)

PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
AI in Product Development-omnex systems
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Transform Your Business with a Software ERP System
PDF
Digital Strategies for Manufacturing Companies
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
L1 - Introduction to python Backend.pptx
PPTX
Introduction to Artificial Intelligence
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
PTS Company Brochure 2025 (1).pdf.......
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Reimagine Home Health with the Power of Agentic AI​
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
AI in Product Development-omnex systems
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms I-SECS-1021-03
Understanding Forklifts - TECH EHS Solution
Transform Your Business with a Software ERP System
Digital Strategies for Manufacturing Companies
CHAPTER 2 - PM Management and IT Context
L1 - Introduction to python Backend.pptx
Introduction to Artificial Intelligence
2025 Textile ERP Trends: SAP, Odoo & Oracle
Odoo Companies in India – Driving Business Transformation.pdf
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Design an Analysis of Algorithms II-SECS-1021-03

SUE AGILE MVVM (English)

  • 1. Pattern MVVM In order to provide the platform SUE-Agile adequate structure and organanizzazione components you chose to use the architectural pattern "Model View View-Model". It consists in the separation of the aspects of the application into three components: • Model • View • ViewModel As can be deduced easily from the previous figure the Model represents the data access. This is one or more classes that read data from the DB, or from a Web service of any kind. The View is the view of the application, the user interface, while the ViewModel is the meeting point between the View and the Model: the data received by the latter are processed to be presented and passed to the View and vice versa. The ViewModel (VM) can be thought of as an abstraction of view, but at the same time is also a specialty of the view that the model used for data binding. The VM is particularly useful when the Model is complex, or already exists and can not be changed, or when the data types of the model are not easily connected to the view. When the user interacts with the view, instantly the status change is communicated to the ViewModel (thanks to the Data-Binding) and in response to the change of state or the activation of a method the ViewModel "acts" by the Model and updates her status. The new state of ViewModel is then reflected on the View.
  • 2. It 'important that the ViewModel keep in their state not only the information retrieved through the Model, but also the current state of the display: it allows him to be completely decoupled from View. One way to visualize the concept is to think of the applications that make use of this pattern as a tree composed of ViewModels, each responsible for a particular "area" of the user interface, which realizes a whole a sort of state machine: each Once the user calls the application, and thus indirectly the "machine", it reacts by changing its state and performing under its control the operations of the business domain. In this view, the view is reduced to a "glass" through which the user looks at the operation of the "machine". This allows for easy separation of the behavior of his "Look & Feel"; This is extremely beneficial in development scenarios (lately more and more popular) in which aspects of User Experience are treated by figures with precise skills, other than those necessary for the development and coding. To facilitate this separation, the ViewModel must be designed in terms as possible abstract; for this reason it is preferable to avoid direct dependencies View itself, or to specific components of the UI technology. And 'quite common for modern applications make use of the so-called UI composition, or of the ability to compose the user interface by dynamically creating several smaller parts, often coordinates, placed in appropriate areas of a "scaffold" main called shell. A classic example (probably among the most complex) of this technique is the UI of Visual Studio, consists of a large number of panels, toolbars and document windows, fully customizable and extensible with new components provided by plugins. In addition to the purely "visual", however, the UI Composition requires the presence of some kind of infrastructure to regulate and manage the life cycle (creation, initialization, activation, deactivation, release) of the various portions of the screen. The MVVM pattern does not prescribe a precise line for these aspects; the different implementations, however, are divided into two main groups: • View-First: the composition process is driven and urged by the View; the latter, that is, determines which parts are to be made and in what area of the shell are shown. This setting requires that the ViewModel associated with each part of the View is instantiated and connected in the next stage; • Model-First: the composition is handled primarily by instantiating the ViewModel connecting and then the corresponding View. In this setting, which I consider more natural and in line
  • 3. with the philosophy of MVVM, the composition takes place primarily at the level of the ViewModel, by creating (also dynamic) of a "tree" of the various parts; View is to the left with the task of representing this tree and its variations using the usual mechanisms of binding and templating. • As mentioned in the previous paragraphs The ITS-Agile was developed in a type environment .NET.Si it is then made use of the C # language in the part that interfaces with the data level, while encoding the View-Model it was decided to use the script-language "Typescript", whose main characteristics are better outlined in another section of the document. For the View were instead exploited the potential and the innovations introduced by the mark-up language HTML5. Important for the connection between these last two components was undoubtedly the Seller KnockoutJs that has allowed to implement in a simple and optimal mechanisms of data-binding. One of the biggest advantages of adopting this pattern is undoubtedly the ability to edit individual parts of the code without affecting the other, thereby ensuring a better maintainability of the same and greatly simplifying the testing phase.