Bonjour,

Je suis actuellement en formation de développeur et nous devons réaliser l'interface graphique complète d'une application de gestion bibliothécaire en Java avec Swing.

Nous devons créer 3 vues : recherche d'une livre, gestion emprunts, gestion retour livres (pour la bibliothécaire).

Nous n'avons pas encore vu MVC, d'ailleurs on le verra sûrement pas puisque c'est pas au programme ^^ mais je me suis dit que j'allais essayer de l'appliquer dès le début à mon projet histoire de rendre le code plus clair et plus lisible par la suite.

J'ai donc quelques questions : le contrôleur est-il censé être spécifique à la vue ? C'est-à-dire que pour chaque vue faut-il un contrôleur différent ? Je pense que oui parce que les actions de l'utilisateur entre les vues ne sont pas du tout les mêmes.
Peut-on construire une classe abstraite Contrôleur et comment je pourrais la définir ?

Autres questions : je découpe l'intérieur de mes vues en plusieurs classes que je fais hériter de JPanel. Quelle serait la méthode la plus "propre" pour que ces classes puissent dialoguer avec le contrôleur associée à la vue parente.
Pour l'instant en instanciant ces composants depuis ma vue, je leur passe via leur constructeur le contrôleur mais je trouve ça assez lourd. Y a-t-il une solution plus propre ?

Je sais aussi qu'il faut sans doute plus s'orienter vers le pattern Observer, mais dans mon cas je ne sais pas trop qui écoute qui et surtout quel type de données doit transiter via les méthodes notify() et update().

J'ai déjà lu pas mal de tuto sur le MVC avec Swing mais généralement il ne montre que des petites applications monovues, hors j'en ai plusieurs avec des sous-composants graphiques à l'intérieur.

Désolé j'ai essayé de m'exprimer au mieux, ne pas hésiter si tout n'est pas clair.

Bonne soirée.