Post on 28-Jun-2015
TTFx Breizh User Group 1
Mathurin BODY
ParsleyF ra m e w o r k M VC p o u r F l ex
Mathurin BODY
© d
bro
wn
coo
ks
TTFx Breizh User Group 2
Plus qu’un framework, une véritable boîte à outils…
Open-source (License Apache 2.0)
Version 2.4 depuis avril 2011
Créé en 2009 par Jens Halm
SpicelibAPI de réflexionMapping XMLObject Framework de tâchesLogging
ParsleyConteneur IoC flexible Binding découpléFramework de messaging Gestion des cycles de vieIntégration avec les modules FlexL10N et I18NExtensibility
TTFx Breizh User Group 3
L’approche MVCS selon Parsley
TTFx Breizh User Group 4
Diagramme « à la PureMVC »
Services
ModèleContrôleur
Msg
Vue PresentationModel
1
2 3
4 5
6
7
8
TTFx Breizh User Group 5
Twisearch« à la persillade »
TTFx Breizh User Group 6
Mise en œuvre de Parsley
Services
ModèleContrôleur
Msg
Vue PresentationModel
1
2 3
4 5
6
7
8
Vue
1
TTFx Breizh User Group 7
« à la PureMVC »
Services
ModèleContrôleur
Msg
Vue PresentationModel
1
2 3
4 5
6
7
8
Presentation Model
2
2
Evènement
TTFx Breizh User Group 8
« à la PureMVC »
Services
ModèleContrôleur
Msg
Vue PresentationModel
1
2 3
4 5
6
7
8
AppContext
3
TTFx Breizh User Group 9
« à la PureMVC »
Services
ModèleContrôleur
Msg
Vue PresentationModel
1
2 3
4 5
6
7
8
Contrôleur
4
56
TTFx Breizh User Group 10
« à la PureMVC »
Services
ModèleContrôleur
Msg
Vue PresentationModel
1
2 3
4 5
6
7
8
Presentation Model
Modèle
7
7
TTFx Breizh User Group 11
« à la PureMVC »
Services
ModèleContrôleur
Msg
Vue PresentationModel
1
2 3
4 5
6
7
8
Vue
8
TTFx Breizh User Group 12
Binding découplé VS Injection
• Injection Réalisé à l’initialisation[init] permet d’initialiser un composant une fois les dépendances injectéesLes erreurs de configurations sont détectés à l’initialisation
• Binding découpléÉquivalent du binding flex… en découpléEvite la définition de dépendanceLes objets ne doivent pas être défini dans le contexte
TTFx Breizh User Group 13
Parsley is your mate too!
Pas trop compliqué
Découplage fort
Non intrusif
Extensible
Tous les goodies en plus
Bonne documentation (mais des exemples manquent parfois)
http://www.spicefactory.org/
TTFx Breizh User Group 14
Framework MVC light
Pour les projets plus simples, une approche plus pragmatique
Modèle/ Service
VueController /
PresentationModel
1. Action 2. Interaction
3. Updates4. Data binding
TTFx Breizh User Group 15
Merci !
@mathurin_body