Façade

( facade )

separator line

package précédent white background package suivant

Rational Rose picture

Description


Lorsque l'on désire faciliter l'utilisation d'un sous-système, ce patron permet de fournir une interface simplifiée qui évite le couplage direct entre les clients et les éléments du sous-système.

Structure et constituants


Design Patterns picture

  • Facade définit une interface unifiée pour le sous-système et donne accès à certains composants publics,
  • C1 à C7 implantent des fonctions du sous-système,
  • FacadeClient manipule le sous-système en passant par la façade.

Collaborations


  • le client manipule le sous-système en s'adressant à la façade ou aux éléments du sous-système rendus publics par la façade,
  • la façade transmet les requêtes au sous-système après transformation si nécessaire.

Forces et faiblesses


Design Patterns picture    diminue le couplage entre le client et le sous-système,

Design Patterns picture    masque des éléments privés du sous-système,

Design Patterns picture    l'interface unifiée présentée par la façade peut être trop restrictive pour utiliser l'ensemble des fonctions du sous-système.

Utilisation dans CBR*Tools


Le contrôleur du raisonnement (classe Reasoner) est une façade pour l'ensemble du système de raisonnement, la mémoire (classe Memory) est une façade simplifiant la gestion de la base des cas et les index, enfin la partie comportementale (classe BehaviouralSituation) d'une situation comportementale est une façade des indices comportementaux pour simplifier leur gestion.




Separator line


Valid XHTML 1.0!

Valid CSS!

Comments

Last modified: Wed Aug 1 15:57:50 MEST 2001