Patrons de conception/Contrôleur


Un contrôleur est une classe qui traite les messages systèmes. Certains messages systèmes sont générés par des sources externes à l'application en cours de conception.

Patron de conception
Catégorie : GRASP
Nom français : Contrôleur
Nom anglais : Controller
Assigner la responsabilité de traiter les messages systèmes (évènements)

Il est conseillé d'assigner cette responsabilité :

  • soit à une classe représentant l'organisation globale ou le système global (contrôleur de façade),
  • soit à une classe représentant un acteur du domaine (contrôleur de rôle),
  • soit à une classe artificielle représentant un cas d'utilisation (contrôleur de cas d'utilisation).

Dans la cas des interfaces graphiques, en suggérant la création d'une classe contrôleur séparée, ce patron de conception encourage le faible couplage en réduisant les dépendances entre l'interface graphique et le modèle.

Exemples

modifier

Bibliothèque

modifier

Dans un logiciel de gestion de Bibliothèque, la responsabilité de traiter le message "Supprimer tel livre" peut être assigné :

  • soit à la classe Bibliothèque (contrôleur de façade),
  • soit à la classe Libraire (contrôleur de rôle),
  • soit à la classe Suppression (contrôleur de cas d'utilisation).