Examples of Design Pattern
Examples of Design Pattern
Examples of Design Pattern
: est un modèle de conception structurel qui permet aux objets avec des interfaces
incompatibles de collaborer.
À un moment donné, vous décidez d'améliorer l'application en intégrant une bibliothèque d'analyse
tierce intelligente. Mais il y a un hic : la bibliothèque d'analyse ne fonctionne qu'avec des données au
format JSON
Vous pouvez modifier la bibliothèque pour travailler avec XML. Cependant, cela peut casser du code
existant qui repose sur la bibliothèque. Et pire, vous pourriez ne pas avoir accès au code source de la
bibliothèque en premier lieu, rendant cette approche impossible
Solution :
Vous pouvez créer un adaptateur. Il s'agit d'un objet spécial qui convertit l'interface d'un objet afin
qu'un autre objet puisse le comprendre.
Un adaptateur enveloppe l'un des objets pour masquer la complexité de la conversion qui se déroule
en coulisses. L'objet enveloppé n'est même pas conscient de l'adaptateur. Par exemple, vous pouvez
envelopper un objet qui fonctionne en mètres et en kilomètres avec un adaptateur qui convertit
toutes les données en unités anglo-saxonnes telles que les pieds et les miles.
Les adaptateurs peuvent non seulement convertir des données dans différents formats, mais peuvent
également aider des objets avec différentes interfaces à collaborer. Voici comment cela fonctionne:
L'adaptateur obtient une interface, compatible avec l'un des objets existants.
À l'aide de cette interface, l'objet existant peut appeler en toute sécurité les méthodes de
l'adaptateur.
Lors de la réception d'un appel, l'adaptateur transmet la demande au second objet, mais dans un
format et un ordre attendus par le second objet.
Parfois, il est même possible de créer un adaptateur bidirectionnel capable de convertir les appels
dans les deux sens
vous pouvez créer des adaptateurs XML vers JSON pour chaque classe de la bibliothèque d'analyse
avec laquelle votre code fonctionne directement. Ensuite, vous ajustez votre code pour communiquer
avec la bibliothèque uniquement via ces adaptateurs. Lorsqu'un adaptateur reçoit un appel, il traduit
les données XML entrantes en une structure JSON et transmet l'appel aux méthodes appropriées
d'un objet analytique encapsulé.
Code :
Bridge :
Bridge est un modèle de conception structurel qui vous
permet de diviser une grande classe ou un ensemble de
classes étroitement liées en deux hiérarchies distinctes
(abstraction et implémentation) qui peuvent être
développées indépendamment l'une de l'autre.