Examen log121 Flashcards
Patron Composite
Permet la représentation d’une structure arborescente d’objets afin de traiter les objets individuellement et ou uniformément. En autres ajouter ou modifier des objets sans affecter la nature de l’arbre.
Ex : utilisé pour l’organisation de fichiers (dossier = composite, fichier = leaf).
Patron composite pros and cons
Pros :
- Réduit la complexité de la structure des objets.
- Création d’une hiérarchie d’objets sans avoir à individualiser les méthodes.
- Rajouter des types d’objets sans modifier le reste de l’arbre.
Cons :
- La structure de l’arbre peut devenir complexe.
- Traitement des objets peut être plus lent (doit passer dans les plusieurs niveaux).
Patron médiateur
Permet de faciliter les interactions entre différents objets en utilisant un objet intermédiaire qui coordonne les échanges. Généralement utilisé lorsque l’application est complexe.
Ex : utiliser pour la gestion d’interactions des objets d’un site web en ligne (objet = clients, produits, commandes, fournisseurs).
Patron médiateur pros and cons
Pros :
- Réduit le couplage (si un objet est modifié, les objets l’utilisant n’ont pas besoin de l’être aussi) entre les différents objets de l’application.
- Améliore les performances de l’application
Cons :
- Peut ajouter de la complexité au code de l’application.
- Les objets perdent la référence aux autres objets de l’application de base.
Patron adaptateur
Permet de connecter des objets n’ayant pas des interfaces compatibles.
Ex : connecter une application Java à une base de données. Cible = interface entre base de données et application.
Patron adaptateur pros and cons
Pros :
- Permet la connexion d’objets sans modifier la nature de ceux-ci.
- Fait fonctionner des applications ayant des technologies ou des versions différentes.
Cons :
- Complexifie le code rendant le débogage plus difficile.
Patron décorateur
Permet d’ajouter des fonctionnalités à un objet existant de manière dynamique.
Ex : peut être utilisé dans une application de traitement d’image pour ajouter des filtres à une image. Le component serait l’image, le concretecomponent serait l’image1, le decorator serait l’image filtrée et le concretedecoratorA et B seraient filtre1 et 2.
Patron décorateur pros and cons
Pros :
- Ajouter des fonctionnalités aux objets sans modifier leur nature et sans créer de nouvelles classes pour chaque combinaison possible.
- Réduire duplication de code.
Cons :
- Complexifie le code rendant le débogage plus difficile.
Patron memento
Permet de sauvegarder l’état d’un objet et de le restaurer ultérieurement.
Ex : application de traitement de texte pour sauvegarder l’état du doc à un moment donné. L’originator est la commande sauvegardée, le memento est le document memento et le caretaker est la pile de document memento.
Patron memento pros and cons
Pros :
- Fonctionnement sans perturbation de l’objet
- Encapsulation de la logique de sauvegarde et de restauration de l’état de l’objet.
Cons :
- Complexifie le code rendant le débogage plus difficile.
- Nécessite des ressources supplémentaires.
Patron façade
Permet de donner une interface simplifiée pour un système complexe.
Ex : application de banque en ligne pour les utilisateurs.
Patron façade pros and cons
Pros :
- Améliorer la sécurité de l’adaptation en limitant l’accès direct aux objets
Cons :
- Complexité du code rendant les débogages difficiles.
Patron de chaine de responsabilité
Permet de traiter une requête de manière dynamique et flexible.
Ex : traitement de demandes de remboursement. Handler = handlerRemboursement. concretehandler1 = vérificationMontantArembourser. concretehandler2 = petitMontant. concretehandler3 = grandMontant.
Patron de chaine de responsabilité pros and cons
Pros :
- Structurer et donner des rôles à chaque concreteHandler.
- Modifier dynamiquement la chaine.
Cons :
- Complexifie le code rendant le débogage difficile.
Patron prototype
Permet de créer de nouveaux objets à partir d’un modèle existant (clonage).
Ex : création de graphes. prototype = graphique