GRASP est l’acronyme de General Responsibility Assignment Software Patterns, un ensemble de principes de conception de logiciels qui aident au développement de systèmes orientés objet. Il décrit les relations entre les classes et les objets, et comment celles-ci sont utilisées pour leur attribuer des responsabilités.
GRASP se concentre sur l’identification et l’attribution des responsabilités aux objets et aux classes. Il utilise une combinaison de principes tels que Information Expert, Creator, Low Coupling, High Cohesion, Polymorphism et Controller.
L’application du principe de l’expert en information
Le principe de l’expert en information stipule que l’objet qui possède la plupart des informations relatives à une tâche particulière devrait être celui qui est responsable de son exécution. Ce principe aide les développeurs à déterminer quels objets doivent gérer certaines tâches et comment les objets interagissent entre eux.
Le principe du créateur stipule qu’un objet doit être responsable de la création d’un objet connexe. Ce principe encourage les développeurs à créer des objets d’une manière à la fois cohérente et efficace.
Le principe de couplage faible stipule que les objets doivent être faiblement couplés, ce qui signifie qu’ils doivent interagir les uns avec les autres aussi peu que possible. Ce principe aide les développeurs à créer des systèmes avec moins d’erreurs et une meilleure maintenabilité.
Le principe de cohésion élevée stipule que les objets doivent être étroitement couplés, ce qui signifie qu’ils doivent tous se spécialiser dans une seule tâche ou dans des tâches connexes. Ce principe aide les développeurs à créer des systèmes plus fiables et plus faciles à maintenir.
Le principe de polymorphisme stipule que les objets doivent pouvoir prendre différentes formes ou types en fonction de leur contexte. Ce principe aide les développeurs à créer des systèmes qui peuvent facilement s’adapter à l’évolution des besoins.
Le principe du contrôleur stipule qu’un seul objet doit être responsable du contrôle du flux de données dans un système. Ce principe aide les développeurs à créer des systèmes avec moins d’erreurs et une meilleure maintenabilité.
En conclusion, GRASP est un ensemble de principes de conception de logiciels qui aident au développement de systèmes orientés objet. Il aide les développeurs à assigner des responsabilités aux objets et aux classes, et à créer des systèmes qui sont fiables et maintenables.
Il existe trois types de responsabilités de modèle de préhension : la préhension puissante, la préhension de précision et la préhension de la main entière. La prise puissante est utilisée pour les tâches nécessitant une force plus importante, comme le ramassage d’un objet lourd. La prise de précision est utilisée pour les tâches qui exigent plus de contrôle, comme placer un petit objet à un endroit précis. La prise de la main entière est utilisée pour les tâches qui nécessitent à la fois force et contrôle, comme l’ouverture d’une porte.
Il existe 9 modèles GRASP : 1. Contrôleur 2. Créateur 3. Faible couplage 4. Cohésion élevée 5. Polymorphisme 6. Fabrication pure 7. Indirection 8. Variations protégées 9. Interfaces révélant l’intention
Il y a un certain nombre de raisons pour lesquelles vous pourriez utiliser les patterns GRASP lors de la conception d’un système utilisant la conception orientée objet. Une des raisons est que les patterns GRASP peuvent vous aider à créer une conception plus modulaire et extensible. Une autre raison est que les patrons GRASP peuvent vous aider à gérer la complexité de votre conception. Enfin, les patterns GRASP peuvent vous aider à améliorer la qualité de votre code.
Les trois types de prise sont la prise de force, la prise de précision et la prise de la main entière.
La préhension puissante est le type de préhension utilisé lorsque vous voulez tenir quelque chose fermement, par exemple lorsque vous ramassez un objet lourd. La préhension de précision est le type de préhension utilisé lorsque vous voulez être capable de manipuler quelque chose, par exemple lorsque vous tenez un stylo pour écrire. La prise à pleine main est le type de prise utilisé lorsque vous voulez tenir quelque chose en toute sécurité, par exemple lorsque vous transportez un plateau de nourriture.
Les quatre principes de base de la POO sont l’encapsulation, l’abstraction, l’héritage et le polymorphisme.