Design Pattern: Développement et Bonnes pratiques

69
DESIGN PATTERN Introduction Alex Wilfried OUATTARA [email protected] Alexwilfriedo (Skype) Alex Wilfried OUATTARA (G+)

Transcript of Design Pattern: Développement et Bonnes pratiques

Page 1: Design Pattern: Développement et Bonnes pratiques

DESIGN PATTERN Introduction

Alex Wilfried [email protected]

Alexwilfriedo (Skype)

Alex Wilfried OUATTARA (G+)

Page 2: Design Pattern: Développement et Bonnes pratiques

PLAN

Page 3: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco ?

Page 4: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco ?

2- Les modèles de création

Page 5: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco ?

2- Les modèles de création

3- Les modèles de structuration

Page 6: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco ?

2- Les modèles de création

3- Les modèles de structuration

4- Les modèles de comportement

Page 7: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco ?

2- Les modèles de création

3- Les modèles de structuration

4- Les modèles de comportement

5- Conclusion

Page 8: Design Pattern: Développement et Bonnes pratiques

QUESACO ?

Page 9: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(définition)

Arrangement caractéristique de modules reconnus comme bonne pratique en réponse à un problème de

conception d’un logiciel.

Page 10: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(définition)

Arrangement caractéristique de modules reconnus comme bonne pratique en réponse à un problème de

conception d’un logiciel. (Wikipédia, 2015)

Page 11: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(définition)

Arrangement caractéristique de modules reconnus comme bonne pratique en réponse à un problème de

conception d’un logiciel. (Wikipédia, 2015)

Chaque patron décrit un problème qui se manifeste constamment dans notre environnement, et décrit le

cœur de la solution à ce problème, d’une façon telle que l‘on puisse réutiliser cette solution des millions de fois,

sans jamais le faire deux fois de la même manière.

Page 12: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(définition)

Arrangement caractéristique de modules reconnus comme bonne pratique en réponse à un problème de

conception d’un logiciel. (Wikipédia, 2015)

Chaque patron décrit un problème qui se manifeste constamment dans notre environnement, et décrit le

cœur de la solution à ce problème, d’une façon telle que l‘on puisse réutiliser cette solution des millions de fois,

sans jamais le faire deux fois de la même manière. (Christopher Alexander, 1977)

Page 13: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(définition)

Arrangement caractéristique de modules reconnus comme bonne pratique en réponse à un problème de

conception d’un logiciel. (Wikipédia, 2015)

Chaque patron décrit un problème qui se manifeste constamment dans notre environnement, et décrit le

cœur de la solution à ce problème, d’une façon telle que l‘on puisse réutiliser cette solution des millions de fois,

sans jamais le faire deux fois de la même manière. (Christopher Alexander, 1977)

Les patrons offrent la possibilité de capitaliser un savoir précieux né du savoir-faire d’experts.

Page 14: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(définition)

Arrangement caractéristique de modules reconnus comme bonne pratique en réponse à un problème de

conception d’un logiciel. (Wikipédia, 2015)

Chaque patron décrit un problème qui se manifeste constamment dans notre environnement, et décrit le

cœur de la solution à ce problème, d’une façon telle que l‘on puisse réutiliser cette solution des millions de fois,

sans jamais le faire deux fois de la même manière. (Christopher Alexander, 1977)

Les patrons offrent la possibilité de capitaliser un savoir précieux né du savoir-faire d’experts.

(Bushman, 1996)

Page 15: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Intérêts)

Les Design Pattern servent à documenter des bonnes pratiques basées sur l’expérience.

Page 16: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Intérêts)

Les Design Pattern servent à documenter des bonnes pratiques basées sur l’expérience.

Ils proposent des solutions à des problèmes qui peuvent être difficilement résolus par un seul composant(Exemple: Le pattern Observer : sujet et observateur)

Page 17: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Intérêts)

Les Design Pattern servent à documenter des bonnes pratiques basées sur l’expérience.

NB: En programmation informatique, les Design Pattern peuvent être utilisés avant, pendant, ou après le travail de

programmation.

Ils proposent des solutions à des problèmes qui peuvent être difficilement résolus par un seul composant(Exemple: Le pattern Observer : sujet et observateur)

Page 18: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Formalismes)

Nom

Page 19: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Formalismes)

Nom Description du problème à résoudre

Page 20: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Formalismes)

Nom Description du problème à résoudre Description de la solution (Appelée, Design Pattern)

Page 21: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Formalismes)

Nom Description du problème à résoudre Description de la solution (Appelée, Design Pattern) Conséquences

Page 22: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Formalismes)

Nom Description du problème à résoudre Description de la solution (Appelée, Design Pattern) Conséquences

NB: Ce formalisme aide surtout à mieux comprendre l’utilisation et la logique interne […]

Page 23: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Les Familles)

Ils existe de nombreux Design Pattern, tous aussiimportant les uns que les autres. Cependant, ont lesregroupes sous trois grandes familles.

Page 24: Design Pattern: Développement et Bonnes pratiques

1- Quèsaco(Les Familles)

Ils existe de nombreux Design Pattern, tous aussiimportant les uns que les autres. Cependant, ont lesregroupes sous trois grandes familles.

Modèles de création

Modèles de structuration

Modèles de comportement

Page 25: Design Pattern: Développement et Bonnes pratiques

MODELE DE CREATION

Page 26: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Un Design Pattern de création permet de résoudre les problèmes liées à la création et la configuration d’objets.

Page 27: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Un Design Pattern de création permet de résoudre les problèmes liées à la création et la configuration d’objets.

Ils aident le développeur à réaliser des systèmes indépendant de comment ses objets sont créés,

composés et représentés.

Page 28: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Un Design Pattern de création permet de résoudre les problèmes liées à la création et la configuration d’objets.

Ils aident le développeur à réaliser des systèmes indépendant de comment ses objets sont créés,

composés et représentés.

(Thème récurrent 1)

Page 29: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Un Design Pattern de création permet de résoudre les problèmes liées à la création et la configuration d’objets.

Ils aident le développeur à réaliser des systèmes indépendant de comment ses objets sont créés,

composés et représentés.

(Thème récurrent 1)

Ils encapsulent tous, les connaissances à propos de quelle classe concrète le système utilise.

Page 30: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Un Design Pattern de création permet de résoudre les problèmes liées à la création et la configuration d’objets.

Ils aident le développeur à réaliser des systèmes indépendant de comment ses objets sont créés,

composés et représentés.

(Thème récurrent 1)

Ils encapsulent tous, les connaissances à propos de quelle classe concrète le système utilise.

(Thème récurrent 2)

Page 31: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Un Design Pattern de création permet de résoudre les problèmes liées à la création et la configuration d’objets.

Ils aident le développeur à réaliser des systèmes indépendant de comment ses objets sont créés,

composés et représentés.

(Thème récurrent 1)

Ils encapsulent tous, les connaissances à propos de quelle classe concrète le système utilise.

(Thème récurrent 2)

Ils masquent comment les instances des classes concrètes sont crées et mises ensembles.

Page 32: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Les principaux Design Pattern de création sont

Page 33: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Les principaux Design Pattern de création sont

Factory

Page 34: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Les principaux Design Pattern de création sont

Factory

Abstract Factory

Page 35: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Les principaux Design Pattern de création sont

Factory

Abstract Factory

Builder

Page 36: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Les principaux Design Pattern de création sont

Factory

Abstract Factory

Builder

Singleton

Page 37: Design Pattern: Développement et Bonnes pratiques

2- Les modèles de créations

Les principaux Design Pattern de création sont

Factory

Abstract Factory

Builder

Singleton

Prototype

Page 38: Design Pattern: Développement et Bonnes pratiques

MODELE DE STRUCTURATION

Page 39: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Un Design Pattern de structuration décrivent comment les classes et les objets sont composés pour former une

large structure.

Page 40: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Un Design Pattern de structuration décrivent comment les classes et les objets sont composés pour former une

large structure.

Ils utilisent l’héritage pour composer des interfaces ou des implémentations.

Page 41: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Les principaux Design Pattern de structuration sont

Page 42: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Les principaux Design Pattern de structuration sont

Facade

Page 43: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Les principaux Design Pattern de structuration sont

Facade

Decorator

Page 44: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Les principaux Design Pattern de structuration sont

Facade

Decorator

Adpter

Page 45: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Les principaux Design Pattern de structuration sont

Facade

Decorator

Adpter

Proxy

Page 46: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Les principaux Design Pattern de structuration sont

Facade

Decorator

Adpter

Proxy

Composite

Page 47: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Les principaux Design Pattern de structuration sont

Facade

Decorator

Adpter

Proxy

Composite

Flyweight

Page 48: Design Pattern: Développement et Bonnes pratiques

3- Les modèles de

structuration

Les principaux Design Pattern de structuration sont

Facade

Decorator

Adpter

Proxy

Composite

Flyweight

Bridge

Page 49: Design Pattern: Développement et Bonnes pratiques

MODELE DE COMPORTEMENT

Page 50: Design Pattern: Développement et Bonnes pratiques

Un Design Pattern de comportement sont relatifs aux algorithmes et à l’assignement des responsabilités entre

objets.

4- Les modèles de

comportement

Page 51: Design Pattern: Développement et Bonnes pratiques

Un Design Pattern de comportement sont relatifs aux algorithmes et à l’assignement des responsabilités entre

objets.

Il ne décrit pas juste le modèle des objets et des classes mais aussi comment ils communiquent entre eux.4- Les modèles

de comportement

Page 52: Design Pattern: Développement et Bonnes pratiques

Un Design Pattern de comportement sont relatifs aux algorithmes et à l’assignement des responsabilités entre

objets.

Il ne décrit pas juste le modèle des objets et des classes mais aussi comment ils communiquent entre eux.

Il utilise l’héritage pour distribuer des comportement entre les classes.

4- Les modèles de

comportement

Page 53: Design Pattern: Développement et Bonnes pratiques

Les principaux Design Pattern de comportement sont

Chain of Responsability

4- Les modèles de

comportement

Page 54: Design Pattern: Développement et Bonnes pratiques

Les principaux Design Pattern de comportement sont

Chain of Responsability

Command4- Les modèles de

comportement

Page 55: Design Pattern: Développement et Bonnes pratiques

Les principaux Design Pattern de comportement sont

Chain of Responsability

Command

Iterator4- Les modèles

de comportement

Page 56: Design Pattern: Développement et Bonnes pratiques

Les principaux Design Pattern de comportement sont

Chain of Responsability

Command

Iterator

Mediator

4- Les modèles de

comportement

Page 57: Design Pattern: Développement et Bonnes pratiques

Les principaux Design Pattern de comportement sont

Chain of Responsability

Command

Iterator

Mediator

Memento

4- Les modèles de

comportement

Page 58: Design Pattern: Développement et Bonnes pratiques

Les principaux Design Pattern de comportement sont

Chain of Responsability

Command

Iterator

Mediator

Memento

Observer

4- Les modèles de

comportement

Page 59: Design Pattern: Développement et Bonnes pratiques

Les principaux Design Pattern de comportement sont

Chain of Responsability

Command

Iterator

Mediator

Memento

Observer

State

4- Les modèles de

comportement

Page 60: Design Pattern: Développement et Bonnes pratiques

Strategy

4- Les modèles de

comportement

Page 61: Design Pattern: Développement et Bonnes pratiques

Strategy Visitor

4- Les modèles de

comportement

Page 62: Design Pattern: Développement et Bonnes pratiques

CONCLUSION

Page 63: Design Pattern: Développement et Bonnes pratiques

+

Page 64: Design Pattern: Développement et Bonnes pratiques

Les Design Pattern ou Patron de Conception sont des solutions à des

problèmes de Génie Logiciel issues de l’expérience d’experts.

+

Page 65: Design Pattern: Développement et Bonnes pratiques

Les Design Pattern ou Patron de Conception sont des solutions à des

problèmes de Génie Logiciel issues de l’expérience d’experts.

+

Ils permettent d’adopter de bonne pratique et de concevoir des logiciels

flexibles.

Page 66: Design Pattern: Développement et Bonnes pratiques

Les Design Pattern ou Patron de Conception sont des solutions à des

problèmes de Génie Logiciel issues de l’expérience d’experts.

+

Ils permettent d’adopter de bonne pratique et de concevoir des logiciels

flexibles.

Ceux sont des solutions 100% fiables

Page 67: Design Pattern: Développement et Bonnes pratiques

Les Design Pattern ou Patron de Conception sont des solutions à des

problèmes de Génie Logiciel issues de l’expérience d’experts.

+ -

Ils permettent d’adopter de bonne pratique et de concevoir des logiciels

flexibles.

Ceux sont des solutions 100% fiables

Page 68: Design Pattern: Développement et Bonnes pratiques

Les Design Pattern ou Patron de Conception sont des solutions à des

problèmes de Génie Logiciel issues de l’expérience d’experts.

+ -

Ils permettent d’adopter de bonne pratique et de concevoir des logiciels

flexibles.

Ceux sont des solutions 100% fiables

Une mauvaise utilisation des Design Pattern est de vouloir tous les utiliser

dans un même logiciel.

Page 69: Design Pattern: Développement et Bonnes pratiques

Les Design Pattern ou Patron de Conception sont des solutions à des

problèmes de Génie Logiciel issues de l’expérience d’experts.

+ -

Ils permettent d’adopter de bonne pratique et de concevoir des logiciels

flexibles.

Ceux sont des solutions 100% fiables

Une mauvaise utilisation des Design Pattern est de vouloir tous les utiliser

dans un même logiciel.

Ils faut s’assurer de la nécessité d’un Design Pattern avant de l’utiliser au risque

de rendre le code moins lisible.