Modèle de présentation d`artiste

Probablement la partie la plus ennuyeuse du modèle de présentation est la synchronisation entre le modèle de présentation et la vue. C`est du code simple à écrire, mais j`aime toujours minimiser ce genre de code répétitif ennuyeux. Idéalement, une sorte de cadre pourrait gérer cela, que j`espère se produira un jour avec des technologies comme. La liaison de données de NET. Présentation Zen: idées simples sur la conception et la livraison de présentation, par Garr Reynolds, New Riders Press, 2008 nous pourrions également cacher l`état de recherche dans un objet InboxPresentation. Commençons par un peu de refactorisation. Comme je l`ai d`abord examiné modèle de présentation dans le .NET Framework, il semblait que la liaison de données fourni une excellente technologie pour rendre le modèle de présentation fonctionne simplement. Jusqu`à présent, les limitations dans la version actuelle de la liaison de données le retient des endroits que je suis sûr qu`il finira par aller. Un domaine où la liaison de données peut très bien fonctionner est avec des données en lecture seule, donc voici un exemple qui montre cela ainsi que la façon dont les tables peuvent s`adapter à une conception de modèle de présentation. Strictement parlant, le modèle de présentation de Fowler reçoit tous les événements. Vous n`utilisez pas son modèle de présentation si votre contrôleur de vue est un délégué pour une vue. Je considère cela comme une distinction mineure. Même dans MVC, vous avez un spectre entre “vue passive” et “contrôleur de supervision.” Je pense qu`il ya un terme beaucoup plus chargé d`éviter…

Comparé à la vue passive et au contrôleur de supervision, le modèle de présentation vous permet d`écrire la logique qui est complètement indépendante des vues utilisées pour l`affichage. Vous n`avez également pas besoin de compter sur la vue pour stocker l`État. L`inconvénient est que vous avez besoin d`un mécanisme de synchronisation entre le modèle de présentation et la vue. Cette synchronisation peut être très simple, mais elle est requise. La présentation séparée nécessite beaucoup moins de synchronisation et la vue passive n`a pas besoin du tout. Considérez une application de liste de tâches. Vous avez un objet Task et décidez d`ajouter TaskPresentation. Pour ce faire, le modèle de présentation aura des champs de données pour toutes les informations dynamiques de la vue. Cela ne comprend pas seulement le contenu des contrôles, mais aussi des choses comme si oui ou non ils sont activés.

En général, le modèle de présentation n`a pas besoin de contenir tout cet état de contrôle (qui serait beaucoup), mais tout État qui peut changer pendant l`interaction de l`utilisateur.

Posted in Uncategorized.