• Aucun résultat trouvé

Conception Orientée Objet

N/A
N/A
Protected

Academic year: 2022

Partager "Conception Orientée Objet"

Copied!
13
0
0

Texte intégral

(1)

Conception Orientée Objet

Design patterns – Partie 3

Tianxiao LIU Master IISC 1èreAnnée CY Cergy Paris Université

(2)

Sommaire : les 23 patterns GoF

Présentés dans cette séance Déjà présentés

2

Creational Structural Behavioral

Abstract Factory Adapter Chain of responsibility

Builder Bridge Command

Factory Method Composite Interpreter Prototype Decorator Iterator

Singleton Facade Mediator

Flyweight Memento

Proxy Observer

State Strategy

Template Method Visitor

(3)

Pattern : Facade

Motivation

◦ Pour un système complexe, simplifier la communication externe / interne

Principe

◦ Utiliser une ou plusieurs classes Facade qui sont responsables de gérer le système

◦ A l'extérieur du système, on ne voit que la (les) classe (s) Facade

(4)

Pattern : Facade

Exemple : Un système de sécurité (sans utiliser Facade)

4

(5)

Pattern : Facade

Exemple : Un système de sécurité (avec pattern Facade)

(6)

Pattern : Chain of responsibility

Principe

◦ On ne sait pas quel objet sur la chaîne va traiter la requête  traitement dynamique

6

(7)

Pattern : Observer

Principe

◦ Propagation des mises à jour d'un objet

(observable) à tous les objets qui l'observent

(8)

Pattern : Interpreter

Principe

◦ Définir un langage et sa syntaxe

◦ Calculer (interpréter) les expressions

8

(9)

Pattern : Visitor

Principe

Découpler les structures de données et les opérations effectuées sur ces structures

Notions de base

Visitor abstrait

Déclarer une méthode pour chaque type de nœud à visiter ajout d'un nouveau type de nœud = ajout d'une méthode

Visitor concret

Une implémentation du visitor abstrait

Node abstrait

Déclaration de l'acceptation des visites par le visitor

(10)

Pattern : Visitor

Diagramme de classes illustrant le modèle

10

(11)

Conseils pour utiliser les patterns

Ne pas abuser

◦ Les design patterns aident à la réutilisabilité

◦ Utiliser des patterns = Je suis fort !   abus ! 

Principes à respecter

◦ Analyser le problème à résoudre

◦ Comprendre les patterns

(12)

Patterns : application des principes d’objet

12

Patterns OCP LSP DIP ISP CARP LoD

Singleton

Factory method x x

Abstract Factory x

Prototype

Builder x x x

Adapter x x

Bridge x x

Composite x x x

Decorator x x

Façade x x x

Flyweight

Proxy x x x

Chain of responsibility x

Interpreter x x x

Iterator x x x

Observer x x x

Strategy x x x

Template method x x

Visitor x x

OCP : Open Close Principle LSP : Liskov Substitution Principle

DIP : Dependency Inversion Principle ISP : Interface Segregation Principle CARP : Composition / Aggregation Reuse Principle LoD : Law of Demeter

(13)

Programme Tree – nouvelle version

Calcul de formule arithmétique

◦ Exemple : 2*X + 3*Y – 4*Z

◦ Représentation : arbre binaire

- +

* *

*

4 Z

Devoir à rendre :

- Dimanche 18 octobre 2020 21H - Email intitulé « COO Tree» - Diagramme de classe du programme Tree : image - Indiquez les patterns utilisés

Références

Documents relatifs

◦ Utiliser un objet d'une classe existante dans une nouvelle classe  réutilisation. ◦ Préférer composites/agrégation

◦ Utilisation d'une classe abstraite qui définit une partie de réalisation concrète et une autre partie abstraite. ◦ Partie abstraite : implémentation dans

Tianxiao LIU Master IISC 1 ère Année CY Cergy Paris Université

◦ Le client peut retirer de l'argent, effectuer un virement et consulter son compte. ◦ Quand on effectue un virement, si le

◦ Si l'événement de l'interruption se produit, toutes les activités en cours dans la région interruptible sont arrêtées  le flot de contrôle suit la flèche en zigzag

◦ Les messages asynchrones peuvent être reçus dans un ordre différent de l'ordre d'envoi..

Si elles ont des rangs inégaux, la racine de plus haut rang devient le parent de la racine de moindre rang, mais les rangs eux-mêmes ne changent pas.. En cas d’égalité entre les

8/ Attacher la perche à l’horizontale avec un Nœud de Brelage. Faire plusieurs tours. Consolider avec des Noeuds de Serrage et Fixer l’assemblage avec un Nœud Plat... Suite et