8. Le Contrôleur en fait trop
• Il devrait se limiter à ce que son nom suggère :
contrôler la Vue
• Le reste doit être placé ailleurs
• la logique métier doit retourner dans le Modèle
• la préparation des données à afficher doit avoir lieu
dans une autre classe : le « Modèle de Vue »
10. Points forts
• Compatible avec MVC
• (ouf)
• Isolation entre les 3 couches
• le code est davantage réutilisable
• les tests unitaires sont plus fiables
• Code plus propre, plus clair
• Excelle avec un mécanisme de binding
11. Principes
• Le Modèle se concentre sur le métier, et ne connaît
personne d’autre
• Le Modèle de Vue connaît seulement le Modèle, il règle
ses propriétés et les écoute
• Le Contrôleur fait simplement le lien entre le Modèle de
Vue et la Vue, il ne connaît pas le Modèle
Model ViewModel ViewViewController
NSObject NSObject UIViewController
NSViewController
UIView
NSView