POURQUOI CE BLOG, POUR QUI ?


POURQUOI CE BLOG, POUR QUI ?
Ce Blog s'adresse à tous ceux qui sont passionnés par les sciences informatiques , Professionnels,Etudiants,Amateurs ...
Les sujets exposés dans la suite se rapporteront essentiellement sur l'analyse informatique,la programmation,le développement ainsi que à l'architecture IT.
QUI SUIS JE ?
Je suis Kangulungu Lubilanji, Consultant-Freelance sur les technologies .NET,C#,ASP.NET ... Contactez moi pour plus d'informations.

Design pattern : 11.Le Pattern Bridge

10.Le Pattern Bridge
Description:
Le but pattern Bridge est de séparer l'aspect d'implantation d'un objet de son aspect de représentation et d'interface.
Ainsi,d'une part l'implantation peut être totalement encapsulée et d'autre part l'implantation et la représentation peuvent évoluer indépendamment et sans que l'une exerce une contrainte sur l'autre.
Exemple:
Un Système devant créer deux implantations de classe différentes, mais avec des caractéristiques communes. Il est donc possible d'introduire une sous classe et deux sous-classes concrètes.
Dans un premier temps, les créations des classes concrètes seraient du premier type et dans un second temps de l'autre. Cette sous-classes introduite, doit également être abstraite et avoir également deux sous-classes concrètes pour chaque implantation.
But:
Le but pattern Bridge est de séparer l'aspect d'implantation d'un objet de son aspect de représentation et d'interface.
Solution: 
La solution du pattern Bridge consiste donc à séparer les aspects de représentation de ceux d'implantation et à créer deux hiérarchies de classes comme illustré ci-dessous. Les instances de la classe ClassAbstraitPont  détiennent le lien implatation vers une instance répondant à l'interface InterfaceImpl.
Avantages:
L'implantation peut être totalement encapsulée et d'autre part l'implantation et la représentation peuvent évoluer indépendamment
Diagramme de classes:
Le pattern Bridge en détails

Participants:
- ClassAbstraitPont est la classe absraite qui représente les objets du domaine. Elle détient l'interface pour les clients et contient une référence vers un objet répondant à l'interface InterfaceImpl.
- ClassConcretDePontA, ClassConcretDePontB sont les classes concrètes qui implantent  les méthodes de ClassAbstraitPont.
InterfaceImpl définit l'interface des classes d'implantation. Les méthodes de cette interface ne doivent pas correspondre aux méthodes de ClassAbstraitPont. Les deux ensembles de méthodes sont différents. L'implantation introduit en général  des méthodes de bas niveau et les méthodes de ClassAbstraitPont sont des méthodes de haut niveau.
- ClassImplAClassImplB sont des classes concrètes qui réalisent les méthodes introduites dans l'interface InterfaceImpl.
Collaborations:
Les opérations de ClassseAbstraitePont et de ses sous-classes invoquent les méthodes introduites dans l'interface InterfaceImpl.
Domaines d'utilisation:
- Pour éviter une liaison forte entre la représentation des objets et leur implantation, notamment quand l'implantation est sélectionnée au cours de l'exécution de l'application;
- Pour que les changements dans l'implantation des objets n'aient pas d'impact dans les interactions entre les objets et leurs clients.
- Pour Permettre à la représentation des objets et à leur implantation de conserver leur capacité d'extension par la création de nouvelles sous-classes ;
- Pour éviter d'obtenir des hiérarchies de classes extrêmement complexes.


Aucun commentaire: