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 : 14.Le Pattern Facade

14.Le Pattern Facade
Description:
L'objectif du pattern Facade est de regrouper les interfaces d'un ensemble d'objets en une interface unifiée rendant cet ensemble plus simple à utiliser pour un client. 
Le pattern Facade encapsule l'interface de chaque objet considérée comme interface de bas niveau dans une interface unique de niveau plus élevé. La construction de l'interface unifiée peut nécessiter d'implanter des méthodes destinées à composer les interfaces de bas niveau.
Exemple:
Dans un système offrant des services à des clients au moyen d'un service web. Le Système est architecturé sous forme d'un ensemble de composant possédant leur propre interface. Il est possible de donner l'accès à l'ensemble de l'interface de ces composants aux clients du services web mais cette démarche présente deux inconvénients majeurs :  
- Certaines fonctionnalités ne sont pas utiles aux clients du service web.
- L'architecture interne du système répond à des exigences de modularité et d'évolution qui ne font pas partie des besoins des clients du service web pour lesquels ces exigences engendrent une complexité inutile.

Le pattern Facade résout ce problème en proposant l'écriture d'une interface unifiée plus simple et d'un haut niveau d'abstraction. Une classe est chargée d'implanter cette interface unifiée utilisant les composants du système.

But:
Le but du pattern Facade est de regrouper les interfaces d'un ensemble d'objets en une interface unifiée.
Solution:
Ecrire une interface unifiée plus simple et d'un haut niveau d'abstraction et une classe est chargée d'implanter cette interface unifiée utilisant les composants du système.
Avantages:
Rend cet ensemble plus simple à utiliser pour un client
Diagramme de classes:
Structure générique du pattern Facade

Participants:
- Facade et son interface constitue la partie abstaite exposée aux clients du système. Cette classe possède des références vers les classes et composants constituant le système et dont les méthodes sont utilisées par la façade pour implanter l'interface unifiée ;
- Les classes et composants du système implantent les fonctionnalités du système et répondent aux requêtes de la façade. Elles n'ont pas besoin de la façade pour travailler.
Collaborations:
Les clients  communiquent avec le système au travers de la façade qui se charge, à son tour, d'invoquer les classes et composants du système. La façade ne peut pas se limiter à transmettre des invocations. Elles doit aussi réaliser l'adaptation entre son interface et l'interface des objets du système au moyen de code spécifique.

Appel  de code spécifique nécessaire pour l'adaptation des méthode de la façade

Domaines d'utilisation:
- Pour fournir une interface simple d'un système complexe. L'architecture d'un système peut être basée sur de nombreuses petites classes, lui offrant une bonne modularité et des capacités d'évolution. Cependant ces bonnes propriétés du système n'intéressent pas ses clients qui ont besoin d'un accès simple qui répond à leur exigence ;
- Pour diviser un système en sous-système, la communication entre sous-système étant mise en oeuvre de façon abstraite de leur implantation grâce aux façades ; 
- Pour systématiser l'encapsulation de l'implantation d'un système vis-à-vis de l'extérieur.

Aucun commentaire: