GRASP (General Responsibility Assignment Software Patterns)

GRASP est un ensemble de patrons de conception de logiciels qui visent à décrire la manière dont diverses responsabilités doivent être attribuées aux classes et aux objets dans un système logiciel. Ces patrons sont destinés à aider les concepteurs à créer des logiciels plus faciles à maintenir et plus extensibles. Les patterns GRASP sont les suivants :

1 :

1. contrôleur : Le contrôleur est responsable de la gestion des entrées utilisateur et de l'appel des actions appropriées sur le modèle ou la vue.

2. Créateur : Le créateur est responsable de la création de nouveaux objets, généralement en réponse à l'entrée de l'utilisateur.

3. couplage faible : Le principe de couplage faible stipule que les classes doivent être faiblement couplées, ce qui signifie qu'elles ne doivent pas avoir de fortes dépendances les unes des autres.

4. polymorphisme : Le principe de polymorphisme stipule que les objets doivent pouvoir prendre différentes formes, en fonction du contexte dans lequel ils sont utilisés.

5. Variations protégées : Le principe des variations protégées stipule que les modifications d'un système logiciel doivent être effectuées de manière à ce que les effets des modifications soient limités à une zone bien définie du système.
6. indirection : Le principe d'indirection stipule que l'accès à un objet doit se faire à travers une interface bien définie, plutôt que directement.

7. Fabrication pure : Le principe de fabrication pure stipule que certains objets d'un système peuvent ne pas avoir de correspondance directe dans le monde réel, mais sont néanmoins nécessaires au bon fonctionnement du système.

Combien de modèles de préhension existe-t-il ?

Il existe quatre modèles de préhension de base :

1. La prise de force est utilisée lorsque vous devez vous accrocher fermement à quelque chose, par exemple lorsque vous soulevez un objet lourd.

2. La prise de précision est utilisée lorsque vous devez être précis dans vos mouvements, par exemple lorsque vous utilisez une pince à épiler.
3. la prise de soutien est utilisée lorsque vous devez soutenir quelque chose, par exemple lorsque vous tenez un livre.
4. la prise en crochet est utilisée lorsque vous devez accrocher quelque chose, par exemple lorsque vous accrochez un tableau au mur. Quel principe GRASP minimise l'impact des changements dans un système ? Il n'y a pas un seul principe GRASP qui minimise l'impact des changements dans un système. Cependant, plusieurs principes peuvent aider à rendre un système plus résilient aux changements. Par exemple, le principe de masquage de l'information peut aider à réduire les dépendances entre les différentes parties du système, ce qui facilite les changements dans une partie sans affecter les autres parties. Le principe de modularité peut également contribuer à rendre un système plus résistant au changement, en facilitant le remplacement ou la modification des composants individuels sans affecter le reste du système.

Lequel des éléments suivants n'est pas un modèle de préhension ?

Les modèles de préhension suivants sont courants :

- La prise de force : La main entière se referme autour de l'objet

-Précision : Le pouce et l'index se referment autour de l'objet
-Prise sphérique : L'objet est tenu dans la paume de la main
-La prise en crochet : L'objet est tenu entre le pouce et les doigts pliés

Ce qui suit n'est pas une forme de préhension courante :

-Poignée en tenaille : Le pouce et l'index se referment autour de l'objet, les autres doigts étant tendus

Qu'est-ce que le polymorphisme ?

Le polymorphisme est un concept de programmation qui permet d'écrire du code d'une manière plus générique et flexible. Il s'agit d'une technique qui permet à différents objets de partager la même interface, mais de se comporter différemment lorsqu'ils reçoivent différentes entrées.
Le terme "polymorphisme" vient des mots grecs "poly" (qui signifie beaucoup) et "morph" (qui signifie forme). Ainsi, en programmation, le polymorphisme fait référence à la capacité du code à prendre de multiples formes.
Une utilisation courante du polymorphisme consiste à créer différents objets qui héritent tous d'une classe mère, mais qui ont des méthodes et des propriétés différentes. Cela permet d'écrire du code d'une manière plus générale, sans avoir à cibler spécifiquement chaque objet individuel.
Par exemple, disons que vous avez une classe de formes, avec des sous-classes pour chaque type de forme. Vous pourriez écrire du code qui utilise les méthodes et les propriétés de la classe mère, sans avoir à cibler spécifiquement chaque sous-classe. Cela serait plus efficace et rendrait votre code plus flexible.

Le polymorphisme peut également être utilisé pour créer différents objets qui partagent la même interface, mais qui ont des implémentations différentes. C'est ce que l'on appelle le typage en canard, et cela permet d'écrire du code de manière plus générique, sans avoir à cibler spécifiquement chaque objet.
Par exemple, disons que vous avez une classe de formes, avec des sous-classes pour chaque type de forme. Vous pouvez écrire du code qui utilise les méthodes et les propriétés de la classe des formes.