Un calque de présentation doit-il être scindé en objets de présentation et de réception ou en un seul objet qui gère les données dans les deux sens?Objets de la couche présentation
Répondre
La couche de présentation doit être placée derrière des interfaces qui traitent à la fois la présentation et la réception. La raison principale est que si vous aviez deux interfaces, l'une pour la présentation et l'autre pour la réception, il est possible, en théorie, de se retrouver avec deux objets différents assignés à chacun provoquant l'étrangeté dans le test.
Toutefois, si votre interface se développe en dizaines de méthodes, vous voudrez peut-être prendre du recul et envisager de la diviser en unités plus petites, puis les agréger. Pas nécessairement basé sur la réception et la présentation, mais des divisions plus logiques de votre interface de présentation. Par exemple, vous pouvez avoir une IPresentationUI avec deux variables, l'une est une interface de IPresentationDisplay et l'autre de IPresentationControl. La seule routine d'enregistrement que vous avez accepte un objet IPresentationUI. La classe implémentant la couche Prensentation implémenterait trois interfaces IPresentationUI, IPresentationControl et IPresentationDisplay.
- 1. Couche de présentation faisant référence à la couche de données
- 2. Retour des données de la couche de gestion à la couche de présentation
- 3. Asp.Net Ajax est-il uniquement utilisé sur la couche de présentation ou sur la couche Business Logic?
- 4. Couche de service et objets auxiliaires?
- 5. Comment puis-je obtenir la transformation actuelle de la couche de présentation correctement?
- 6. Le module backend a besoin d'URL depuis la couche de présentation - comment éviter la dépendance cyclique?
- 7. Comment modifier de façon conditionnelle une propriété de contrôle dans la couche de présentation
- 8. Comment utiliser XAML en dehors de la couche de présentation (WPF/Silverlight)?
- 9. Vérification nulle dans différentes couches (couche de présentation, milieu, base de données)
- 10. Présentation de la migration de Virtual Server?
- 11. Présentation de la transformée de Fourier discrète
- 12. ASP.NET: couche de données indépendantes accses couche
- 13. test d'atteinte de couche retour d'une couche uniquement lorsque la moitié inférieure de la couche est touchée
- 14. Conception de la couche d'accès aux données
- 15. Présentation de la liste d'adresses globale Outlook
- 16. Idées de présentation AJAX
- 17. Présentation AdventureWorks
- 18. Transmission de données entre la couche de gestion et la couche d'accès aux données - code incorrect?
- 19. Test de la couche de données
- 20. Convertir? Objets de domaine aux objets DTO - Impossible de créer une instance d'une interface
- 21. WPF/question de conception de la couche de données LINQ
- 22. Résultats de la couche Caching Data Access
- 23. Référentiel, objets d'entité et objets de domaine
- 24. Est-ce que plusieurs objets de couche de service doivent partager un DAO?
- 25. La couche audio la plus performante?
- 26. Quel est le travail principal de couche de liaison logique dans la couche 2
- 27. Amélioration de ma couche d'accès aux données
- 28. LINQ vs modèle de présentation
- 29. Multiplication de couche WPF
- 30. Prévenir présentation de la variable dans l'interface graphique de CMake
donc le même objet qui présente des données recevrait une nouvelle entrée de l'utilisateur et ensuite l'objet serait passé au domaine? Le domaine décide quoi extraire de l'objet de présentation? Y a-t-il des risques pour la sécurité? – zsharp
L'idée générale est que l'interface est implémentée par un formulaire ou un objet représentant la page Web et est un shell fin qui transmet des événements à un objet UI et reçoit des instructions sur la façon de dessiner/configurer la présentation. L'objet d'interface utilisateur responsable de prendre cette entrée brute et d'exécuter des commandes qui modifient le domaine. Cela inclut de faire toute la sécurité nécessaire. Ce n'est que lorsque la commande est exécutée que le domaine est touché. Donc, si les contrôles de sécurité échouent, n'exécutez pas la commande. –
L'avantage de cette approche est que mettre votre interaction utilisateur derrière une interface vous procure plusieurs avantages. D'abord, vous absentez une grande partie de l'interface utilisateur spécifique. Les normes Web changent donc, les cadres de formulaire changent, mais tant que les nouvelles classes implémentent l'interface, le reste de votre logiciel peut continuer à fonctionner. Le deuxième test devient plus facile car vous pouvez avoir des objets fantaisie implémentant les interfaces d'interface utilisateur. Troisième Vous avez documenté à travers l'interface exactement comment votre logiciel interagit avec une interface utilisateur donnée. –