• Aucun résultat trouvé

Conception Orientée Objet

N/A
N/A
Protected

Academic year: 2022

Partager "Conception Orientée Objet"

Copied!
14
0
0

Texte intégral

(1)

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

(2)

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

(3)

Sommaire : les 23 patterns GoF

Présentés dans cette séance

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

(4)

Pattern : Singleton

Principe

◦ Une seule instance durant la vie du système

◦ Il existe trois variantes : Eager, Lazy et Register

4

(5)

Simple factory (non GoF)

Comprendre par un exemple : Fruit

(6)

Pattern : Factory Method

Principe

◦ Abstraire la solution Simple Factory

◦ Un produit  Une classe concrète pour le fabriquer

6

(7)

Pattern : Factory Method

Adaptation de l'exemple Fruit

(8)

Pattern : Abstract Factory

Principe

◦ Modèle de factory complètement général

◦ Support de deux dimensions de classifications

8

(9)

Pattern : Abstract Factory

Un exemple

(10)

Pattern : Prototype

Principe

◦ Quand un objet à produire varie durant l'exécution du programme, on lui confie la tâche de copie

10

(11)

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

(12)

Pattern : Iterator

Motivation

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

Abstraction de haut niveau (ignorer les types concrets)

12

(13)

Pattern : Iterator

Extrinsic Iterator (Cursor Iterator)

(14)

Pattern : Iterator

Intrinsic Iterator

14

Références

Documents relatifs

Il est facile de v´ erifier sur l’exemple courant que toutes ces s´ emantiques poss` edent des comportements diff´ erents (l’ordre entre les arguments est diff´ erent pour chaque

Similairement, la catégorisation dans T ROPES signale que la classe catégorisée peut être spécialisation de n’importe laquelle de ses classes les plus générales et

Le choix du verbe require pour 3 se justifie par la notion de nécessité présente dans la glose « To be in want of something implied by the context, or of the necessaries of life », et

le constructeur de chaque classe se compose des diff´erents sous-arbres de l’alternative correspondante dans la grammaire ; l’option est exprim´ee par la classe Option de Scala :.

Les enjeux didactiques de la notion de praxéologie structuraliste sont discutés en relation avec les difficultés identifiées dans l'enseignement

Le but de ces questions est de demander aux étudiants de récapituler les œuvres visitées, ce qui constitue une étape dans leur appropriation, sachant bien

Therefore, in our study (mechanical properties and internal fit of four CAD CAM block materials), different CAD CAM block materials were tested from different groups of

Les instituts à apostolat mixte (enseignement, soins et œuvres diverses) occupent le troi- sième rang, avec 77 religieuses. Les hospitalières et les congrégations à but