Examen Final Flashcards
Aprendre tous les patrons, leurs objectifs et leur implementation
Quelle est l’intention du patron Commande?
Encapsuler une requête dans le but de supporter plus facilement différents types de requêtes, de définir des queues de requêtes et de permettre les undo.
Quels sont les avantages d’un patron commande?
- On peut faire des commandes composites
- Ca découple l’objet qui envoie la requête de celui qui la traite.
- Les commandes sont encapsulées dans des objets qui peuvent être manipulés (flexibilité et uniformité)
Quelle sont les implantations associées au patron Commande?
- Support undo/redo
- Conservation d’état pour le undo
Quel est l’intention du patron State?
Changer le comportement de l’objet en fonction de son état.
Quels sont les avantages du patron State?
- Transition d’états explicites
- Élimine les grands énoncés conditionels
Quelles sont les implantations associées au patron State?
- Qui définit les transitions
- Comment gérer la création/destruction d’états
Quel est le but de l’implantation?
- Réduire le couplage
- Augmenter la robustesse
Qu’est-ce que le couplage faible?
Le patron Faible couplage suggère qu’une classe ne devrait pas être lié à un trop grand nombre d’autres classes du système. En réduisant le couplage entre les classes, on favorise la réutilisation.
Quelle est le pire défaut d’un prototype?
Les gens ont tendance à le garder.
Quels sont 3 avantages d’une architecture multi-niveaux?
1.La séparation de la logique d’application dans des composantes séparées qui peuvent être réutilisé dans d’autres systèmes.
2.La possibilité de répartir les niveaux sur différents nœuds de calcul, et dans différents
processus.
3.L’assignation de développeurs à la construction de chaque niveau: parallélisation des efforts
Quels sont les 5 étapes de l’analyse?
1) Analyse des requis
2) Définition et spécification des requis
3) Construction du premier modèle
4) Élaboration d’un prototype
5) Validation de prototype
Que contient un cas d’utilisation étendu?
- Nom du cas
- Système
- Niveau (objectif usager ou sous-fonction)
- Acteur Primaires
- Parties prenantes et intérêts
- Préconditions
- Postconditions(conséquences)
- Scénario Principal
- Scénarios alt.
Quels sont les 3 niveaux de détails des cas d’utilisation ainsi que leur caractéristique principale?
Haut Niveau : peu détaillé, scénario principal seulement
Informel : Brève description des scénarios alternatifs
Étendu: Description complète du scénario principal et alternatifs
Quelles sont les 2 méthodes d’identification de cas d’utilisation?
Basée sur les acteurs
Basée sur les évènements
Quelle est l’intention du patron stratégie?
Encapsuler un algorithme dans une classe de sorte qu’il soit interchangeable.
Quels sont deux avantages du patron stratégie?
- Support de familles d’algorithmes
- Élimination d’énoncés conditionnels
Quelles sont les implantations associées au patron strategy
1: Modèle tirer: Éviter info inutile, +couplage
2: Modèle pousser: Découplage, +info inutile
Quelle est l’intention du patron Chain of Responsibility
Éviter de coupler l’émetteur et le récepteur d’une requête en donnant à plusieurs objets la possibilité de la traiter.
Quels sont 2 avantages du patron Chain of Responsibility?
- Réduit le couplage (émetteur ne connait pas le récepteur, il connait l’entrée de la chaine)
- Augmente la flexibilité (On peut modifier la chaine)
Quelles sont les implantations liées au patron façade?
-Classe façade abstraite? (différentes façades pour différentes versions du sous-système)
Quelle est l’intention du patron façade?
Fournir une interface qui unit plusieurs interfaces d’un sous-système. Cet interface de haut niveau rend l’utilisation plus facile.
Quels sont deux avantages du patron façade?
- Vue simplifiée du sous-système
- Découplage client/sous-système
Quelles sont les implantations liées au patron façade?
-Classe façacde abstraite? (différentes façades pour différentes versions du sous-système)