Pattern de référence pour les applications WPF, Silverlight et Windows Phone, MVVM est de plus en plus utilisé. Cette session d’introduction vous permettra de découvrir les différents éléments qui le compose, leur mise en place et surtout de bien comprendre quand, comment et pourquoi utiliser ce pattern ne peut que vous être profitable !
Pattern de référence pour les applications WPF, Silverlight et Windows Phone, MVVM est de plus en plus utilisé. Cette session d’introduction vous permettra de découvrir les différents éléments qui le compose, leur mise en place et surtout de bien comprendre quand, comment et pourquoi utiliser ce pattern ne peut que vous être profitable !
Une présentation abstraite en vue de proposer une orientation technique pour sortir l'entreprise de l’imbroglio qu'est Java Server Faces, pour une réduction des coûts de développement et un gain de temps dans l'optique d'une livraison rapide des projets...
Quelques éléments de contexte - API, Microservices, Agilité, DevOps, Cloud
Organisation de projets Front - Back: impacts, dépendances et solutions
Les normes & bonnes pratiques issues de Retours d'Expériences
Un focus sur AngularsJS 2.0
This presentation shows how Hood River County's libraries are using open source software to deliver better service for their patrons. It covers how they're moving their public computers over to a Linux environment, discusses the open source integrated library system Evergreen, and shows other open source software being used.
This presentation was last given at the Gorge Technology Alliance Geek Lunch on February 21, 2012.
Libraries have been concerned with serving their burgeoning virtual communities. However, in many ways, the advent of the mobile web turns many of the virtual communities outward to the physical world once again. This presentation discusses how libraries serve virtual and burgeoning mobile communities.
Last presented to the Pendleton Public Library advisory board on January 28, 2012
This presentation discusses how virtual reference, and specifically Oregon's L-net service, helps patrons who either don't have or are losing/lost library service. It was last presented at the Oregon Virtual Reference Summit on June 10, 2011, in The Dalles.
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Addi Ait-Mlouk
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
•Prise en main complet d’odoo
•Configuration complète
•Caractéristiques techniques complète
•Savoir crée un module personnalisé
•Savoir développer un module spécifique
Une présentation abstraite en vue de proposer une orientation technique pour sortir l'entreprise de l’imbroglio qu'est Java Server Faces, pour une réduction des coûts de développement et un gain de temps dans l'optique d'une livraison rapide des projets...
Quelques éléments de contexte - API, Microservices, Agilité, DevOps, Cloud
Organisation de projets Front - Back: impacts, dépendances et solutions
Les normes & bonnes pratiques issues de Retours d'Expériences
Un focus sur AngularsJS 2.0
This presentation shows how Hood River County's libraries are using open source software to deliver better service for their patrons. It covers how they're moving their public computers over to a Linux environment, discusses the open source integrated library system Evergreen, and shows other open source software being used.
This presentation was last given at the Gorge Technology Alliance Geek Lunch on February 21, 2012.
Libraries have been concerned with serving their burgeoning virtual communities. However, in many ways, the advent of the mobile web turns many of the virtual communities outward to the physical world once again. This presentation discusses how libraries serve virtual and burgeoning mobile communities.
Last presented to the Pendleton Public Library advisory board on January 28, 2012
This presentation discusses how virtual reference, and specifically Oregon's L-net service, helps patrons who either don't have or are losing/lost library service. It was last presented at the Oregon Virtual Reference Summit on June 10, 2011, in The Dalles.
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1Addi Ait-Mlouk
Paramétrage et développement spécifique des modules odoo(OpenERP) Partie 1
•Prise en main complet d’odoo
•Configuration complète
•Caractéristiques techniques complète
•Savoir crée un module personnalisé
•Savoir développer un module spécifique
Construire une application sur l'architecture modèle-vue-contrôleur en PHP à partir d'un exemple simple : une liste de choses à faire, avec deux pages types : liste et détails.
La conception d'application Web complexe se reposant sur un socle JavaScript devient monnaie courante.
De ce fait, nous nous devons de nous outiller, ainsi que d'utiliser des frameworks adéquats.
Cette présentation a pour but de vous faire découvrir l'un de ces frameworks: RequireJS.
Nous verrons alors que nous pouvons produire des applications modulaires avec gestion de dépendances simplement, permettant ainsi d'avoir des applications qui se chargent rapidement alors que nous avons un découpage complexe, mais aussi des applications maintenables et testables facilement.
Voir: http://humantalks.com/talks/26-apercu-de-requirejs
2. Plan
0 Histoire
0 Intention
0 Structure
0 MVVM
0 Le Model
0 Le View
0 Le ViewModel
0 Collaboration
0 Conséquences
0 Utilisations connues
0 Patrons de Design en relation
0 Conclusion
3. Histoire
• 2004 Martin Fowler – Presentation Model (PM)
Une séparation de son état et de son comportement
Indépendamment d’un Framework UI
• 2005 John Gossman dévoile le patron MVVM
Comme extension du patron MVC
• 2008 John change d’avis
MVVM est identique au PM
Dépendant au WPF/Silverlight
4. Intention
• Les préoccupations de séparation
View
L’état et le comportement du View
Données
• Test unitaire et les tests de l’interface graphique (UI)
• Maintenance
• Extensibilité
• Permet le flux de travail designer/développeur
• Profite du « data binding » du WPF/Silverlight
5. Structure
View ViewModel
• Model Model
Aucune référence du View ou du ViewModel
• View
Peut avoir une référence du ViewModel (pas obligatoire)
Aucune référence du Model
• ViewModel
Référencé à partir du Model
Peut avoir une référence à partir du View
6. Le Model
View ViewModel
public class Person : INotifyPropertyChanged,
IDataErrorInfo
{ Model
private string _firstName;
private string FirstName
{
get { return _firstName; }
set
{
_firstName = value;
OnPropertyChanged(‘’FirstName’’);
}
}
…
7. Le ViewModel
View ViewModel
public class MainViewModel :
INotifyPropertyChanged, {
private Person _modelPerson; Model
private Person ModelPerson
{
get { return _modelPerson; }
set
{
_modelPerson = value;
OnPropertyChanged(‘’ModelPerson’’);
}
}
…
8. Le View
View ViewModel
<!– First Name -->
<TextBlock Text=‘’First Name:’’ Margin=‘’5’’ />
< TextBox Grid.Column=‘’1’’ Margin=‘’5’’/>
Model
<!– Last Name -->
<TextBlock Grid.Row=‘’1’’ Text=‘’Last Name:’’ Margin=‘’5’’ />
< TextBox Grid.Row=‘’1’’ Grid.Column=‘’1’’ Margin=‘’5’’/>
<!– UpdatedDate-->
<TextBlock Grid.Row=‘’2’’ Text=‘’Age:’’ Margin=‘’5’’ />
< TextBox Grid.Row=‘’2’’ Grid.Column=‘’1’’ Margin=‘’5’’/>
<!– Save Button-->
<Button Grid.Row=‘’3’’ Grid.ColumnSpan=‘’5’’ Content=‘’Save’’
Margin=‘’10’’ />
9. Collaboration
View ViewModel
• Model
Les données
Model
• View
Binding au ViewModel à traver DataContext
• ViewModel
Expose le Model comme propriété ou commande
Doit implémenter INotifyPropertyChanged
10. Conséquences
0 Avantages
• Réduit le code relatif
• Pas besoin de changer le Model pour supporter le View
• Les Designers design, les développeurs développent
• Réduit le temps de développement
0 Inconvénients
• Crée plus de fichiers
• Les tâches simples peuvent devenir plus compliquées
• Manque de standardisation
• Spécifique au plateformes WPF et Silverlight
11. Utilisations connues
0 Microsoft
0 UFC Gym
0 US Army
0 Family.Show
0 Prism Reference Implementation
0 AQUA
0 Plusieurs Framework
• MVVM Light Toolkit
• Caliburn
• Cinch
• Onyx
• MVVM Foundation
• Etc…
12. Patrons de Design en relation
• Model View Presenter (MVP)
• Model View Controller (MVC)
• Presentation Model (PM)
13. Conclusion
• Séparation des préoccupations
• Test et Maintenance
• View and ViewModel binding
• Implémentation