SlideShare a Scribd company logo
1 of 3
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

What's hot

What's hot (10)

MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009
 
MVx patterns in iOS (MVC, MVP, MVVM)
MVx patterns in iOS (MVC, MVP, MVVM)MVx patterns in iOS (MVC, MVP, MVVM)
MVx patterns in iOS (MVC, MVP, MVVM)
 
MVVM In Use
MVVM In UseMVVM In Use
MVVM In Use
 
Microservices with mule
Microservices with muleMicroservices with mule
Microservices with mule
 
MVVM
MVVMMVVM
MVVM
 
Facade pattern
Facade patternFacade pattern
Facade pattern
 
Mvvm
MvvmMvvm
Mvvm
 
An overview of microsoft mvc dot net
An overview of microsoft mvc dot netAn overview of microsoft mvc dot net
An overview of microsoft mvc dot net
 
Mvvm basics
Mvvm basicsMvvm basics
Mvvm basics
 
Facade pattern presentation(.pptx)
Facade pattern presentation(.pptx)Facade pattern presentation(.pptx)
Facade pattern presentation(.pptx)
 

Viewers also liked (20)

SUE AGILE Framework (English)
SUE AGILE Framework (English)SUE AGILE Framework (English)
SUE AGILE Framework (English)
 
Evolucion
EvolucionEvolucion
Evolucion
 
Deimer
DeimerDeimer
Deimer
 
Condiçoesexames nee
Condiçoesexames neeCondiçoesexames nee
Condiçoesexames nee
 
Document
DocumentDocument
Document
 
28 palavras-3
28 palavras-328 palavras-3
28 palavras-3
 
Edwis
EdwisEdwis
Edwis
 
Especialización en gerencia del talento humano
Especialización en gerencia del talento humanoEspecialización en gerencia del talento humano
Especialización en gerencia del talento humano
 
Presentación1
Presentación1Presentación1
Presentación1
 
Hada
HadaHada
Hada
 
La Verdad De La Soja
La Verdad De La SojaLa Verdad De La Soja
La Verdad De La Soja
 
Biografía keysla zañartu laveriano
Biografía keysla zañartu laverianoBiografía keysla zañartu laveriano
Biografía keysla zañartu laveriano
 
SUE AGILE Architecture (English)
SUE AGILE Architecture (English)SUE AGILE Architecture (English)
SUE AGILE Architecture (English)
 
Ofimatica web
Ofimatica webOfimatica web
Ofimatica web
 
Carros
CarrosCarros
Carros
 
Mapa conceptual
Mapa conceptualMapa conceptual
Mapa conceptual
 
PRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙ
PRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙPRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙ
PRONUNCIAMIENTO DEL CÌRCULO DE PERIODISTAS DEPORTIVOS DEL PERÙ
 
Zotero Checklist
Zotero ChecklistZotero Checklist
Zotero Checklist
 
Atención Primaria / Medicina Interna Hospitalaria: ¿Condenados a entenderse?
Atención Primaria /Medicina Interna Hospitalaria: ¿Condenados a entenderse?Atención Primaria /Medicina Interna Hospitalaria: ¿Condenados a entenderse?
Atención Primaria / Medicina Interna Hospitalaria: ¿Condenados a entenderse?
 
SUE AGILE MVVM (Italian)
SUE AGILE MVVM (Italian)SUE AGILE MVVM (Italian)
SUE AGILE MVVM (Italian)
 

Similar to SUE AGILE MVVM (English)

Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Shubham Goenka
 
Models used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVMModels used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVMAndrei Popa
 
Android DesignArchitectures.pptx
Android DesignArchitectures.pptxAndroid DesignArchitectures.pptx
Android DesignArchitectures.pptxSafnaSaff1
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC StructureDipika Wadhvani
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxWhat Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxQuickwayInfoSystems3
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxWhat Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxQuickwayInfoSystems3
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patternseleksdev
 
Pattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecturePattern oriented architecture for web based architecture
Pattern oriented architecture for web based architectureshuchi tripathi
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobilenaral
 
Porting the Legacy Application to Composite Application Guidance
Porting the Legacy Application to Composite Application GuidancePorting the Legacy Application to Composite Application Guidance
Porting the Legacy Application to Composite Application GuidanceOur Community Exchange LLC
 
MVVM presentation
MVVM presentationMVVM presentation
MVVM presentationInova LLC
 
Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecturebitburner93
 
Design Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderDesign Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderSimon Massey
 
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
Mvc vs mvp vs mvvm  a guide on architecture presentation patternsMvc vs mvp vs mvvm  a guide on architecture presentation patterns
Mvc vs mvp vs mvvm a guide on architecture presentation patternsConcetto Labs
 
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...RapidValue
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCAnton Krasnoshchok
 

Similar to SUE AGILE MVVM (English) (20)

Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)Task 2 - Educational Article – Model View Controller (MVC)
Task 2 - Educational Article – Model View Controller (MVC)
 
Models used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVMModels used in iOS programming, with a focus on MVVM
Models used in iOS programming, with a focus on MVVM
 
Android DesignArchitectures.pptx
Android DesignArchitectures.pptxAndroid DesignArchitectures.pptx
Android DesignArchitectures.pptx
 
MVC
MVCMVC
MVC
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC Structure
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxWhat Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
 
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptxWhat Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
What Are The Benefits Of Using MVC Framework In ASP.NET Development.pptx
 
Mvvw patterns
Mvvw patternsMvvw patterns
Mvvw patterns
 
Pattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecturePattern oriented architecture for web based architecture
Pattern oriented architecture for web based architecture
 
MVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,MobileMVC(Model View Controller),Web,Enterprise,Mobile
MVC(Model View Controller),Web,Enterprise,Mobile
 
Porting the Legacy Application to Composite Application Guidance
Porting the Legacy Application to Composite Application GuidancePorting the Legacy Application to Composite Application Guidance
Porting the Legacy Application to Composite Application Guidance
 
MVVM presentation
MVVM presentationMVVM presentation
MVVM presentation
 
Code Camp 06 Model View Presenter Architecture
Code Camp 06   Model View Presenter ArchitectureCode Camp 06   Model View Presenter Architecture
Code Camp 06 Model View Presenter Architecture
 
Design Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-BinderDesign Patterns in ZK: Java MVVM as Model-View-Binder
Design Patterns in ZK: Java MVVM as Model-View-Binder
 
MVC
MVCMVC
MVC
 
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
Mvc vs mvp vs mvvm  a guide on architecture presentation patternsMvc vs mvp vs mvvm  a guide on architecture presentation patterns
Mvc vs mvp vs mvvm a guide on architecture presentation patterns
 
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
Choosing the Right HTML5 Framework to Build your Mobile Web Application White...
 
Mvc ppt
Mvc pptMvc ppt
Mvc ppt
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
IntroductionToMVC
IntroductionToMVCIntroductionToMVC
IntroductionToMVC
 

More from Sabino Labarile

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

More from Sabino Labarile (20)

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

Recently uploaded

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 

Recently uploaded (20)

why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 

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.