façade pattern

Preview:

Citation preview

FaçadeDesign Patterns

SIDAOUI Abdelfahem Email: Abdelfahem20@gmail.com http://www.sidaoui.tk

réalisé par:

En génie logiciel, le patron de conception (ou design pattern) façade a pour but de cacher une conception et une interface complexe difficile à comprendre (cette complexité étant apparue « naturellement » avec l'évolution du sous-système en question).

Introduction

Fournir une interface unique en remplacement d'un ensemble d'interfaces d'un sous-système.

Définir une interface de haut niveau pour rendre le sous-système plus simple d'utilisation..

Objectif

Un sous système est complexe s’il fait appel à plusieurs interfaces.

Problème : Système complexe

Créer une seule façade pour ce sous-système.

Solution

Le Design Pattern Façade permet d'isoler les

fonctionnalités d'un sous-système utiles à la partie cliente.

Résultat :

Diagramme de classes du Façade

Le système comporte un sous-système complexe avec plusieurs interfaces.

Certaines de ces interfaces présentent des opérations qui ne sont pas utiles au reste du système.

Cela peut être le cas d'un sous-système communiquant avec des outils de mesure ou d'un sous-système d'accès à la base de données.

Raison d’utilisation

Il serait plus judicieux de passer par une seule interface présentant seulement les opérations utiles.

Une classe unique, la façade, présente ces opérations réellement nécessaires.

Raison d’utilisation

ClasseA et ClasseB : implémentent diverses

fonctionnalités. Facade : présente certaines fonctionnalités.

Cette classe utilise les implémentations des objets ClasseA et ClasseB. Elle expose une version simplifiée du sous-système

ClasseA-ClasseB.

Responsabilités

La partie cliente fait appel aux méthodes présentées par l'objet Façade. Il n'y a donc pas de dépendances entre la partie cliente et le sous-système ClasseA-ClasseB.

Responsabilités

/* ClasseA.java */ /* ClasseB.java */

Implémentation

/* Facade.java */

Implémentation

/* Application.java */

Implémentation

Modèle de conception de façade cache la complexité d'une tâche et fournit une interface simple. Un très bon exemple est le démarrage d'un ordinateur. Lorsqu'un ordinateur démarre, il implique le travail de cpu, mémoire, disque dur, etc. Pour le rendre facile à utiliser pour les utilisateurs, nous pouvons ajouter une façade qui enveloppent la complexité de la tâche, et de fournir une interface simple à la place.

Exemple:

Diagramme de classe:

Merci pour votre attention

Recommended