C'est un peu extrême comme conclusion. Il y a des solutions intermédiaires entre :
- ne pas appeler l'ouverture de la fenêtre depuis une méthode de ta classe
et
- abandonner l'objet
C'est la difficulté de la conception objet. Délimiter le role de chaque classe et ne pas avoir des classes qui grossissent pour se charger de choses qu'elles n'ont finalement pas à faire.
Il n'est pas forcément heureux d'avoir une méthode qui gère l'interface dans votre couche métier/dao.
Imaginons que vous deviez développer 2 fenêtres différentes qui manipulent le même type de données. Celà afin de répondre à un besoin d'ergonomie particulier (exemple : une fiche de saisie simple qui présente les informations principales et une complexe qui permet plus de choses mais plus lourde à utiliser). Allez vous implémenter autant de méthodes qu'il existe de moyen IHM pour accéder à cet objet ? Cela fonctionnerait mais vous sentez bien qu'il y a une lourdeur avec cette conception.
J'ai pris un exemple grossier pour montrer l'intérêt et la difficulté de séparer les couches. Et il est clair que ce n'est pas une classe de définir comment l'IHM va l'utiliser.
Et enfin, ce n'est pas parce qu'on a fait une classe que c'est forcément bien fait. L'objet ne nous met pas à l'abri de fautes de conception.
Partager