façade pattern

18
Façade Design Patterns

Upload: sidaouifahmi

Post on 16-Aug-2015

189 views

Category:

Education


0 download

TRANSCRIPT

Page 1: façade pattern

FaçadeDesign Patterns

Page 2: façade pattern

SIDAOUI Abdelfahem Email: [email protected] http://www.sidaoui.tk

réalisé par:

Page 3: façade pattern

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

Page 4: façade pattern

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

Page 5: façade pattern

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

Problème : Système complexe

Page 6: façade pattern

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

Solution

Page 7: façade pattern

Le Design Pattern Façade permet d'isoler les

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

Résultat :

Page 8: façade pattern

Diagramme de classes du Façade

Page 9: façade pattern

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

Page 10: façade pattern

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

Page 11: façade pattern

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

Page 12: façade pattern

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

Page 13: façade pattern

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

Implémentation

Page 14: façade pattern

/* Facade.java */

Implémentation

Page 15: façade pattern

/* Application.java */

Implémentation

Page 16: façade pattern

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:

Page 17: façade pattern

Diagramme de classe:

Page 18: façade pattern

Merci pour votre attention