Vous êtes sur la page 1sur 9

03/11/2022

Les modèles de structures ou structuraux


 Objectif :
 Les modèles de conceptions structuraux visent la composition des objets et des classes
 En passant par des objectifs : composition dynamique c.-à-d.
à l’exécution.
 on utilise la relation client-serveur
 en UML (agrégation, composition, association...)

 En passant par des classes composition statique c.-à-d. à la


compilation.
 On utilise la relation d’héritage (simple et multiple)
 en UML (généralisation spécialisation)

43

43

Les modèles de structures ou structuraux


 Les modèles de conception de structures d’E.Gamma sont en nombre de 7 :
 Adaptateur (Adapter)
 Pont (Bridge)
 Objet composite (Composite)
 Décorateur (Decorator)
 Façade (Facade)
 Poids-mouche ou poids-plume (Flyweight)
 Proxy (Proxy)

44

44

1
03/11/2022

Le patron Façade (structure)


 Intention : Il propose une vue simple d’un sous-système.

 Motivation : Pour des applications complexes, on peut proposer une décomposition


par niveau.
 Ainsi l’application est perçue comme une collection de sous-
systèmes.

 Un sous-système encapsule des classes (représenté par la notion


de package en UML)

45

45

Le patron Façade (structure)

46

46

2
03/11/2022

Le patron Façade (structure)


 Les clients visés par le
patron Façade n’ont
pas besoin d’une
personnalisation des
classes appartenant
au sous-système.

47

47

Le patron Façade (structure)

• La façade fait
abstraction des
packages 1, 2 et 3 du
reste de l'application.
• Clients: Les objets
utilisant le patron de
conception Façade
pour accéder aux
ressources abstraites.

48

48

3
03/11/2022

Le patron Façade (structure)


 Constituants :
 Façade : Elle propose une vue (interface= plusieurs services) simple des
fonctionnalités offertes par le sous système. Elle délègue les requêtes (demandes)
venant des clients aux classes concernés appartenant au sous système. Un seul objet
Façade pourrait souvent faire l’affaire.
 Les classes des sous-systèmes : Les classes des sous-systèmes ne connaissent pas
souvent la Façade, c.-à-d. elles ne possèdent pas des références sur l’objet Façade.
 Les clients : Ces classes passent inévitablement par la Façade. Elles ne connaissent
pas les classes de sous systèmes

49

49

Le patron Façade (structure)

Exercice :
On donne les 3 classes A ,B et C exportant respectivement ra, rb et rc. Réaliser en java
une classe f sous forme d’une Façade exportant une primitive r utilisant sous forme
d’une séquence ra, rb , rc.

50

50

4
03/11/2022

Le patron Façade (structure)


Solution :

51

51

Le patron Façade (structure)

solution :
public class A{
public A() { }
public void ra(){ } }

public class B{
public B() { }
public void rb(){ }}

52

52

5
03/11/2022

Le patron Façade (structure)


solution :
public class C{
public C() { }
public void rc(){ } }
public class Facade{ public class Application{
public Facade() {……} public Application(){
public voir r() { A a= new A();
Facade f= new Facade(); f.r(); }
B b= new B();
C c= new C(); a.ra(); b.rb(); c.rc(); } }

53

53

Le patron Composite (structure)


Intention:
 Il permet d’organiser les structures complexes (composition) sous forme arborescente
ou hiérarchique (structure composée).

 Ces structures comportent des objets individuels (simples ou atomiques ou encore


terminaux) et des objets composites (ou non terminaux).

 Le modèle composite propose la même interface au client permettant la manipulation


soit des objets terminaux soit des objets non terminaux.

54

54

6
03/11/2022

Le patron Composite (structure)


Motivation:
Les structures (arbres, foret) sont largement utilisées en informatique.
Structure :

55

55

Le patron Composite (structure)


Constituants:
 Composant :

 La classe composant propose une interface commune aux deux types d’objets :
terminaux et non terminaux (abstract) ainsi elle peut proposer des opérations abstraites
ici « operation » et des opérations abstraites ayant une implémentation par défaut
(avec souvent une sémantique qui ne fait
rien) : ajouter, supprimer et Acq enfant.

56

56

7
03/11/2022

Le patron Composite (structure)


Constituants:
 Feuille :
 Elle modélise un groupe d’objets terminaux. Elle redéfinit ou surcharge les opérations
abstraites hérités de la classe composant.
 Composite :
 Elle modélise un groupe d’objets non terminaux. Elle peut redéfinir toutes les méthodes
hérités de la classe composant.
 Client :
 Ils envoient sa requête aux composants

57

57

Le patron Composite (structure)


Exercice:
 Enoncé :

• Utiliser le modèle composite pour modéliser les prédicats comportant les variables
booléenne des opérations booléennes unaires et des opérateurs booléen binaire.
• La modélisation proposée doit permettre l’évaluation des prédicats.

58

58

8
03/11/2022

Le patron Composite (structure)


Illustration:
 le prédicat ( a^b) v (c^d)v non(e) peut être modéliser par l’arbre suivante :

59

59

Le patron Composite (structure)


Illustration:

60

60

Vous aimerez peut-être aussi