Si j'ai une classe gui et une classe pour la logique, est-ce qu'il y a une référence dans gui à la logique et à la gui très mauvaise?2 classes se réfèrent est-ce correct?
Répondre
Si vous pouvez l'éviter, vous devriez probablement le faire. Sinon, vous risquez d'avoir beaucoup de problèmes avec les dépendances circulaires plus tard. Est-ce qu'ils ont vraiment besoin de se connaître, ou pourriez-vous avoir un troisième concept de «contrôle» référençant les deux?
En règle générale, il est mauvais que la classe "logique" ait connaissance de la classe "gui". L'idée derrière la séparation est le modèle de conception Modèle/Vue (ou Modèle/Vue/Contrôleur). La vue aura besoin d'une référence au modèle. Regardez de très près pourquoi le modèle a besoin d'une référence à la vue. Généralement, lorsque le modèle a besoin d'envoyer des informations à l'événement d'affichage, les écouteurs sont utilisés (voir la table javax.swing et les modèles de liste pour un exemple).
Il devrait être évité. Dans votre interface graphique, vous pouvez avoir une référence à votre logique de domaine, mais vous ne devriez pas avoir de référence à votre interface graphique dans votre logique de domaine.
Pourquoi? Parce que sinon, vous n'avez aucun avantage à fractionner la GUI & Logique de domaine dans des fichiers séparés. Lorsque votre logique a une dépendance à votre interface graphique, vous ne pouvez pas utiliser votre logique avec une autre interface graphique. Donc, vous devriez essayer d'éviter cette dépendance de votre logique à votre gui, ou, vous devriez en faire abstraction.
J'espère que je suis clair ici. :)
L'interface graphique doit probablement exposer une sorte d'interface à la classe logique, pour que l'interface graphique soit mise à jour lorsque la classe logique change quelque chose.
La logique ne doit pas avoir une connaissance directe de l'implémentation de l'interface graphique, seule son interface. Le Observer Pattern est parfois utilisé pour cela.
- 1. Deux classes qui se réfèrent
- 2. C++ - 2 classes 1 fichier
- 3. Classes statiques ... est-ce correct de le faire?
- 4. JPA Supprimer avec 2 classes Interlocking Entité
- 5. Color Picker Farbtastic synchronisation sur 2 classes
- 6. Comment désactiver les classes ejb 2
- 7. Silverlight 2 RTW se bloque IE7
- 8. applications NHibernate pour 2 classes qui ont des relations multiples
- 9. Comment obtenir l'objet ResourceManager correct
- 10. est-ce correct? salage
- 11. se joindre à 2 colonnes de tableau 1 au tableau 2
- 12. ThreadPool Meilleures pratiques, Correct
- 13. Deux classes se "type n'est pas défini" erreur
- 14. Xpath Obtenir des éléments qui se trouvent entre 2 éléments
- 15. Fusion de classes CSS
- 16. ComputerInfo.TotalVirtualMemory n'est pas correct
- 17. Ce verrouillage est-il correct?
- 18. Est-ce correct dans .NET?
- 19. VisualSVN et bibliothèques de classes ne se trouvant pas dans la copie de travail racine
- 20. correct « this » dans le bouton jQuery rappel
- 21. Plusieurs pseudo-classes CSS
- 22. Test d'un chemin syntaxiquement correct
- 23. AVAudioPlayer n'est pas rentrant correct?
- 24. Comment obtenir Eclipse pour résoudre les classes générées avec Maven 2?
- 25. Classes et sous-classes CSS
- 26. Dimensions de l'élément HTML IE6 correct
- 27. Comment le nid du cadre .net se forme-t-il dans les classes? (vb.net)
- 28. Castle Windsor: Comment éviter les références circulaires dans les objets créés en usine où les objets créés se réfèrent à l'usine
- 29. Correct façon d'optimiser le code Rails répété
- 30. Maven 2 Checkstyle configLocation