14
Conception Orientée Objet Design patterns Partie 1 Tianxiao LIU Master IISC 1 ère Année CY Cergy Paris Université http://depinfo.u-cergy.fr/~tliu/coo.php 1

Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Conception Orientée Objet

Design patterns – Partie 1

Tianxiao LIU

Master IISC 1ère Année

CY Cergy Paris Université

http://depinfo.u-cergy.fr/~tliu/coo.php

1

Page 2: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Les design patterns

Histoire ◦ Description dans le livre Gang of Four (GoF)

◦ E. Gamma, R. Helm, R. Johnson et J. Vlissides

◦ Design patterns – Elements of Reusable Object-Oriented Software

Pour chaque pattern ◦ Un problème constamment présent

◦ Une solution standard

◦ Des variantes

2

Page 3: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Sommaire : les 23 patterns GoF

Présentés dans cette séance

3

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

Page 4: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Singleton Principe ◦ Une seule instance durant la vie du système ◦ Il existe trois variantes : Eager, Lazy et Register

4

Page 5: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Simple factory (non GoF)

Comprendre par un exemple : Fruit

5

Page 6: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Factory Method

Principe

◦ Abstraire la solution Simple Factory

◦ Un produit Une classe concrète pour le fabriquer

6

Page 7: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Factory Method

Adaptation de l'exemple Fruit

7

Page 8: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Abstract Factory Principe ◦ Modèle de factory complètement général ◦ Support de deux dimensions de classifications

8

Page 9: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Abstract Factory

Un exemple

9

Page 10: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Prototype

Principe ◦ Quand un objet à produire varie durant l'exécution

du programme, on lui confie la tâche de copie

10

Page 11: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Template Method Principe ◦ 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 les sous-classes

11

Types de méthodes ◦ abstract method

◦ implémentation dans les sous-classes

◦ hook method ◦ implémentation vide ou par défaut

◦ ex. toString

◦ concrete method ◦ sans override dans les sous-classes

Page 12: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Iterator

Motivation ◦ Parcourir linéairement les éléments d'une collection

◦ Abstraction de haut niveau (ignorer les types concrets)

12

Page 13: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Iterator

Extrinsic Iterator (Cursor Iterator)

13

Page 14: Conception Orientée Objet - Depinfotliu/ens/coo/coo-patterns-1.pdfLes design patterns Histoire Description dans le livre Gang of Four (GoF) E. Gamma, R. Helm, R. Johnson et J. Vlissides

Pattern : Iterator

Intrinsic Iterator

14