Sobes.tech
Senior

Qu'est-ce que GRASP ?

sobes.tech IA

Réponse de l'IA

GRASP (Modèles d’Attribution de Responsabilités Générales de Logiciel) est un ensemble de principes universels pour l’attribution de responsabilités aux classes et objets dans la conception orientée objet. Ils aident à créer des systèmes flexibles, maintenables et réutilisables. Les principaux modèles GRASP incluent :

  • Expert en Information : Un objet qui détient l’information nécessaire pour effectuer une action doit en prendre la responsabilité.
  • Créateur : La classe qui contient ou agrège des instances d’autres classes, est étroitement liée à elles ou possède des données d'initialisation pour les créer, doit en prendre la responsabilité.
  • Contrôleur : La classe responsable de gérer un événement système (par exemple, une action utilisateur), doit coordonner le travail d’autres objets, mais pas effectuer le travail elle-même.
  • Fabrication Pure : Classe artificiellement créée, qui ne reflète pas la conception du domaine, mais est créée pour réduire le couplage, améliorer la cohésion ou faciliter la réutilisation.
  • Faible Couplage : Principe de conception visant à minimiser les dépendances entre classes.
  • Haute Cohésion : Principe de conception visant à ce que les méthodes d’une classe soient étroitement liées en fonctionnalité.
  • Polymorphisme : Attribution de responsabilités pour choisir un comportement basé sur le type d’objet (via des méthodes virtuelles).
  • Variations Protégées : Principe de conception qui protège contre les changements dans d’autres éléments (objets, sous-systèmes, systèmes) en définissant une interface stable.
  • Indirection : Attribution de responsabilités à un objet intermédiaire pour éviter une liaison directe entre deux éléments.

L’application de GRASP aide à éviter les contrôleurs et gestionnaires "lourds", améliorer la structure du code et faciliter son évolution.