SlideShare une entreprise Scribd logo
1  sur  69
DESIGN PATTERN Introduction
Alex Wilfried OUATTARA
alex.ouattara@studentpartner.com
Alexwilfriedo (Skype)
Alex Wilfried OUATTARA (G+)
PLAN
1- Quèsaco ?
1- Quèsaco ?
2- Les modèles de création
1- Quèsaco ?
2- Les modèles de création
3- Les modèles de structuration
1- Quèsaco ?
2- Les modèles de création
3- Les modèles de structuration
4- Les modèles de comportement
1- Quèsaco ?
2- Les modèles de création
3- Les modèles de structuration
4- Les modèles de comportement
5- Conclusion
QUESACO ?
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.
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)
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.
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)
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.
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)
1- Quèsaco
(Intérêts)
Les Design Pattern servent à documenter des bonnes
pratiques basées sur l’expérience.
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)
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)
1- Quèsaco
(Formalismes)
 Nom
1- Quèsaco
(Formalismes)
 Nom
 Description du problème à résoudre
1- Quèsaco
(Formalismes)
 Nom
 Description du problème à résoudre
 Description de la solution (Appelée, Design Pattern)
1- Quèsaco
(Formalismes)
 Nom
 Description du problème à résoudre
 Description de la solution (Appelée, Design Pattern)
 Conséquences
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 […]
1- Quèsaco
(Les Familles)
Ils existe de nombreux Design Pattern, tous aussi
important les uns que les autres. Cependant, ont les
regroupes sous trois grandes familles.
1- Quèsaco
(Les Familles)
Ils existe de nombreux Design Pattern, tous aussi
important les uns que les autres. Cependant, ont les
regroupes sous trois grandes familles.
Modèles de création
Modèles de structuration
Modèles de comportement
MODELE DE
CREATION
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.
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.
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)
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.
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)
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.
2- Les modèles
de créations
Les principaux Design Pattern de création sont
2- Les modèles
de créations
Les principaux Design Pattern de création sont
 Factory
2- Les modèles
de créations
Les principaux Design Pattern de création sont
 Factory
 Abstract Factory
2- Les modèles
de créations
Les principaux Design Pattern de création sont
 Factory
 Abstract Factory
 Builder
2- Les modèles
de créations
Les principaux Design Pattern de création sont
 Factory
 Abstract Factory
 Builder
 Singleton
2- Les modèles
de créations
Les principaux Design Pattern de création sont
 Factory
 Abstract Factory
 Builder
 Singleton
 Prototype
MODELE DE
STRUCTURATION
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.
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.
3- Les modèles
de
structuration
Les principaux Design Pattern de structuration sont
3- Les modèles
de
structuration
Les principaux Design Pattern de structuration sont
 Facade
3- Les modèles
de
structuration
Les principaux Design Pattern de structuration sont
 Facade
 Decorator
3- Les modèles
de
structuration
Les principaux Design Pattern de structuration sont
 Facade
 Decorator
 Adpter
3- Les modèles
de
structuration
Les principaux Design Pattern de structuration sont
 Facade
 Decorator
 Adpter
 Proxy
3- Les modèles
de
structuration
Les principaux Design Pattern de structuration sont
 Facade
 Decorator
 Adpter
 Proxy
 Composite
3- Les modèles
de
structuration
Les principaux Design Pattern de structuration sont
 Facade
 Decorator
 Adpter
 Proxy
 Composite
 Flyweight
3- Les modèles
de
structuration
Les principaux Design Pattern de structuration sont
 Facade
 Decorator
 Adpter
 Proxy
 Composite
 Flyweight
 Bridge
MODELE DE
COMPORTEMENT
Un Design Pattern de comportement sont relatifs aux
algorithmes et à l’assignement des responsabilités entre
objets.
4- Les modèles
de
comportement
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
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
Les principaux Design Pattern de comportement sont
 Chain of Responsability
4- Les modèles
de
comportement
Les principaux Design Pattern de comportement sont
 Chain of Responsability
 Command4- Les modèles
de
comportement
Les principaux Design Pattern de comportement sont
 Chain of Responsability
 Command
 Iterator
4- Les modèles
de
comportement
Les principaux Design Pattern de comportement sont
 Chain of Responsability
 Command
 Iterator
 Mediator
4- Les modèles
de
comportement
Les principaux Design Pattern de comportement sont
 Chain of Responsability
 Command
 Iterator
 Mediator
 Memento
4- Les modèles
de
comportement
Les principaux Design Pattern de comportement sont
 Chain of Responsability
 Command
 Iterator
 Mediator
 Memento
 Observer
4- Les modèles
de
comportement
Les principaux Design Pattern de comportement sont
 Chain of Responsability
 Command
 Iterator
 Mediator
 Memento
 Observer
 State
4- Les modèles
de
comportement
 Strategy
4- Les modèles
de
comportement
 Strategy
 Visitor
4- Les modèles
de
comportement
CONCLUSION
+
Les Design Pattern ou Patron de
Conception sont des solutions à des
problèmes de Génie Logiciel issues de
l’expérience d’experts.
+
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.
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
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
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.
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.

Contenu connexe

Tendances (20)

Igl cours 3 - introduction à uml
Igl   cours 3 - introduction à umlIgl   cours 3 - introduction à uml
Igl cours 3 - introduction à uml
 
Design patterns french
Design patterns frenchDesign patterns french
Design patterns french
 
Uml upxp2
Uml upxp2Uml upxp2
Uml upxp2
 
Uml
UmlUml
Uml
 
Modélisation avec UML
Modélisation avec UMLModélisation avec UML
Modélisation avec UML
 
CoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-TotalCoursUML-SlimMesfar-Total
CoursUML-SlimMesfar-Total
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Design Pattern introduction
Design Pattern introductionDesign Pattern introduction
Design Pattern introduction
 
Uml
UmlUml
Uml
 
Cours design pattern m youssfi partie 5 adapter
Cours design pattern m youssfi partie 5 adapterCours design pattern m youssfi partie 5 adapter
Cours design pattern m youssfi partie 5 adapter
 
Design patterns gof fr
Design patterns gof frDesign patterns gof fr
Design patterns gof fr
 
Cours de C++, en français, 2002 - Cours 1.1
Cours de C++, en français, 2002 - Cours 1.1Cours de C++, en français, 2002 - Cours 1.1
Cours de C++, en français, 2002 - Cours 1.1
 
Cours de Génie Logiciel / ESIEA 2013-2014
Cours de Génie Logiciel / ESIEA 2013-2014 Cours de Génie Logiciel / ESIEA 2013-2014
Cours de Génie Logiciel / ESIEA 2013-2014
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Les limites-de-l uml (1)
Les limites-de-l uml (1)Les limites-de-l uml (1)
Les limites-de-l uml (1)
 
Manuel uml-poweramc
Manuel uml-poweramcManuel uml-poweramc
Manuel uml-poweramc
 
013 mediha cgi - sensibilisation uml
013   mediha cgi - sensibilisation uml013   mediha cgi - sensibilisation uml
013 mediha cgi - sensibilisation uml
 
7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation7 diagramme de cas d'utilisation
7 diagramme de cas d'utilisation
 
11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel11-Cours de Géniel Logiciel
11-Cours de Géniel Logiciel
 
Chapitre3 2013 POO
Chapitre3 2013 POOChapitre3 2013 POO
Chapitre3 2013 POO
 

En vedette

Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...ENSET, Université Hassan II Casablanca
 
De java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDe java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDidier Plaindoux
 
Android Bonnees pratiques
Android Bonnees pratiques Android Bonnees pratiques
Android Bonnees pratiques Patrick Bashizi
 
Design Pattern
Design PatternDesign Pattern
Design Patternnewegg
 
Design Pattern lecture 2
Design Pattern lecture 2Design Pattern lecture 2
Design Pattern lecture 2Julie Iskander
 
Swift, opportunités et perspectives du dernier langage d'Apple
Swift, opportunités et perspectives du dernier langage d'AppleSwift, opportunités et perspectives du dernier langage d'Apple
Swift, opportunités et perspectives du dernier langage d'AppleDamien GOSSET
 
Visitor Pattern
Visitor PatternVisitor Pattern
Visitor PatternIder Zheng
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)TECOS
 
Chp6 - Développement iOS
Chp6 - Développement iOSChp6 - Développement iOS
Chp6 - Développement iOSLilia Sfaxi
 
Chp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications MobilesChp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications MobilesLilia Sfaxi
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications AndroidLilia Sfaxi
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesLilia Sfaxi
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileLilia Sfaxi
 

En vedette (20)

Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...Cours design pattern m youssfi partie 8 stat, template method, command , medi...
Cours design pattern m youssfi partie 8 stat, template method, command , medi...
 
De java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvementsDe java à swift en 2 temps trois mouvements
De java à swift en 2 temps trois mouvements
 
Android Bonnees pratiques
Android Bonnees pratiques Android Bonnees pratiques
Android Bonnees pratiques
 
Sibtel&Swift
Sibtel&SwiftSibtel&Swift
Sibtel&Swift
 
Design Pattern
Design PatternDesign Pattern
Design Pattern
 
Cours1
Cours1Cours1
Cours1
 
Design Pattern lecture 2
Design Pattern lecture 2Design Pattern lecture 2
Design Pattern lecture 2
 
Design pattern
Design patternDesign pattern
Design pattern
 
Swift, opportunités et perspectives du dernier langage d'Apple
Swift, opportunités et perspectives du dernier langage d'AppleSwift, opportunités et perspectives du dernier langage d'Apple
Swift, opportunités et perspectives du dernier langage d'Apple
 
Visitor Pattern
Visitor PatternVisitor Pattern
Visitor Pattern
 
01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)01 programmation mobile - android - (introduction)
01 programmation mobile - android - (introduction)
 
Chp6 - Développement iOS
Chp6 - Développement iOSChp6 - Développement iOS
Chp6 - Développement iOS
 
Chp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications MobilesChp2 - Conception UX-UI des Applications Mobiles
Chp2 - Conception UX-UI des Applications Mobiles
 
Chp5 - Applications Android
Chp5 - Applications AndroidChp5 - Applications Android
Chp5 - Applications Android
 
Chp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications MobilesChp3 - Architecture Logicielle des Applications Mobiles
Chp3 - Architecture Logicielle des Applications Mobiles
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
 
Mobile design
Mobile designMobile design
Mobile design
 
Cours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxyCours design pattern m youssfi partie 6 proxy
Cours design pattern m youssfi partie 6 proxy
 
Cours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observerCours design pattern m youssfi partie 2 observer
Cours design pattern m youssfi partie 2 observer
 

Similaire à Design Pattern: Développement et Bonnes pratiques

Construire un Design System dans une société d'assurance centenaire
Construire un Design System dans une société d'assurance centenaireConstruire un Design System dans une société d'assurance centenaire
Construire un Design System dans une société d'assurance centenaireGeoffrey Croftє
 
Vers une approche praxéologique du design
Vers une approche praxéologique du designVers une approche praxéologique du design
Vers une approche praxéologique du designlaureno
 
Framework Orienté objet
Framework Orienté objetFramework Orienté objet
Framework Orienté objetNSim Technology
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 
Introduction of the most important design pattern
Introduction of the most important design patternIntroduction of the most important design pattern
Introduction of the most important design patternThierry Gayet
 
Design, ergonomie et IHM : études complémentaires pour favoriser les activité...
Design, ergonomie et IHM : études complémentaires pour favoriser les activité...Design, ergonomie et IHM : études complémentaires pour favoriser les activité...
Design, ergonomie et IHM : études complémentaires pour favoriser les activité...Geoffrey Dorne
 
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"Fing
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Création de bases de données
Création de bases de donnéesCréation de bases de données
Création de bases de donnéesRiadh ASSOUAK
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueGautier Poupeau
 
DesignPatternsISI.pdf
DesignPatternsISI.pdfDesignPatternsISI.pdf
DesignPatternsISI.pdfandre543581
 
Drupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersDrupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersFrédéric Simonet
 
Conception bd 2
Conception bd 2Conception bd 2
Conception bd 2hassan1488
 
Il etait une fois une maquette - Thomas ZILLIOX - Paris Web 2012
Il etait une fois une maquette - Thomas ZILLIOX - Paris Web 2012Il etait une fois une maquette - Thomas ZILLIOX - Paris Web 2012
Il etait une fois une maquette - Thomas ZILLIOX - Paris Web 2012Thomas ZILLIOX
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfYasushiTsubakik
 

Similaire à Design Pattern: Développement et Bonnes pratiques (20)

Construire un Design System dans une société d'assurance centenaire
Construire un Design System dans une société d'assurance centenaireConstruire un Design System dans une société d'assurance centenaire
Construire un Design System dans une société d'assurance centenaire
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Vers une approche praxéologique du design
Vers une approche praxéologique du designVers une approche praxéologique du design
Vers une approche praxéologique du design
 
Framework Orienté objet
Framework Orienté objetFramework Orienté objet
Framework Orienté objet
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 
030225+seminar+gelo+diro.ppt
030225+seminar+gelo+diro.ppt030225+seminar+gelo+diro.ppt
030225+seminar+gelo+diro.ppt
 
Introduction of the most important design pattern
Introduction of the most important design patternIntroduction of the most important design pattern
Introduction of the most important design pattern
 
040423+seminar+info+uqam.ppt
040423+seminar+info+uqam.ppt040423+seminar+info+uqam.ppt
040423+seminar+info+uqam.ppt
 
Design, ergonomie et IHM : études complémentaires pour favoriser les activité...
Design, ergonomie et IHM : études complémentaires pour favoriser les activité...Design, ergonomie et IHM : études complémentaires pour favoriser les activité...
Design, ergonomie et IHM : études complémentaires pour favoriser les activité...
 
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
Nos Systèmes by Fing : "Kit d'auto-évaluation des algorithmes"
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Lmo02.ppt
Lmo02.pptLmo02.ppt
Lmo02.ppt
 
Création de bases de données
Création de bases de donnéesCréation de bases de données
Création de bases de données
 
Projet+com02.ppt
Projet+com02.pptProjet+com02.ppt
Projet+com02.ppt
 
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physiqueVisite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
Visite guidée au pays de la donnée - Du modèle conceptuel au modèle physique
 
DesignPatternsISI.pdf
DesignPatternsISI.pdfDesignPatternsISI.pdf
DesignPatternsISI.pdf
 
Drupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliersDrupal 7 - Fondamentaux et ateliers
Drupal 7 - Fondamentaux et ateliers
 
Conception bd 2
Conception bd 2Conception bd 2
Conception bd 2
 
Il etait une fois une maquette - Thomas ZILLIOX - Paris Web 2012
Il etait une fois une maquette - Thomas ZILLIOX - Paris Web 2012Il etait une fois une maquette - Thomas ZILLIOX - Paris Web 2012
Il etait une fois une maquette - Thomas ZILLIOX - Paris Web 2012
 
Support de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdfSupport de cours Conception orientée objets - partie 1.pdf
Support de cours Conception orientée objets - partie 1.pdf
 

Design Pattern: Développement et Bonnes pratiques

  • 1. DESIGN PATTERN Introduction Alex Wilfried OUATTARA alex.ouattara@studentpartner.com Alexwilfriedo (Skype) Alex Wilfried OUATTARA (G+)
  • 4. 1- Quèsaco ? 2- Les modèles de création
  • 5. 1- Quèsaco ? 2- Les modèles de création 3- Les modèles de structuration
  • 6. 1- Quèsaco ? 2- Les modèles de création 3- Les modèles de structuration 4- Les modèles de comportement
  • 7. 1- Quèsaco ? 2- Les modèles de création 3- Les modèles de structuration 4- Les modèles de comportement 5- Conclusion
  • 9. 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.
  • 10. 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)
  • 11. 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.
  • 12. 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)
  • 13. 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.
  • 14. 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)
  • 15. 1- Quèsaco (Intérêts) Les Design Pattern servent à documenter des bonnes pratiques basées sur l’expérience.
  • 16. 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)
  • 17. 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)
  • 19. 1- Quèsaco (Formalismes)  Nom  Description du problème à résoudre
  • 20. 1- Quèsaco (Formalismes)  Nom  Description du problème à résoudre  Description de la solution (Appelée, Design Pattern)
  • 21. 1- Quèsaco (Formalismes)  Nom  Description du problème à résoudre  Description de la solution (Appelée, Design Pattern)  Conséquences
  • 22. 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 […]
  • 23. 1- Quèsaco (Les Familles) Ils existe de nombreux Design Pattern, tous aussi important les uns que les autres. Cependant, ont les regroupes sous trois grandes familles.
  • 24. 1- Quèsaco (Les Familles) Ils existe de nombreux Design Pattern, tous aussi important les uns que les autres. Cependant, ont les regroupes sous trois grandes familles. Modèles de création Modèles de structuration Modèles de comportement
  • 26. 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.
  • 27. 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.
  • 28. 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)
  • 29. 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.
  • 30. 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)
  • 31. 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.
  • 32. 2- Les modèles de créations Les principaux Design Pattern de création sont
  • 33. 2- Les modèles de créations Les principaux Design Pattern de création sont  Factory
  • 34. 2- Les modèles de créations Les principaux Design Pattern de création sont  Factory  Abstract Factory
  • 35. 2- Les modèles de créations Les principaux Design Pattern de création sont  Factory  Abstract Factory  Builder
  • 36. 2- Les modèles de créations Les principaux Design Pattern de création sont  Factory  Abstract Factory  Builder  Singleton
  • 37. 2- Les modèles de créations Les principaux Design Pattern de création sont  Factory  Abstract Factory  Builder  Singleton  Prototype
  • 39. 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.
  • 40. 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.
  • 41. 3- Les modèles de structuration Les principaux Design Pattern de structuration sont
  • 42. 3- Les modèles de structuration Les principaux Design Pattern de structuration sont  Facade
  • 43. 3- Les modèles de structuration Les principaux Design Pattern de structuration sont  Facade  Decorator
  • 44. 3- Les modèles de structuration Les principaux Design Pattern de structuration sont  Facade  Decorator  Adpter
  • 45. 3- Les modèles de structuration Les principaux Design Pattern de structuration sont  Facade  Decorator  Adpter  Proxy
  • 46. 3- Les modèles de structuration Les principaux Design Pattern de structuration sont  Facade  Decorator  Adpter  Proxy  Composite
  • 47. 3- Les modèles de structuration Les principaux Design Pattern de structuration sont  Facade  Decorator  Adpter  Proxy  Composite  Flyweight
  • 48. 3- Les modèles de structuration Les principaux Design Pattern de structuration sont  Facade  Decorator  Adpter  Proxy  Composite  Flyweight  Bridge
  • 50. Un Design Pattern de comportement sont relatifs aux algorithmes et à l’assignement des responsabilités entre objets. 4- Les modèles de comportement
  • 51. 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
  • 52. 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
  • 53. Les principaux Design Pattern de comportement sont  Chain of Responsability 4- Les modèles de comportement
  • 54. Les principaux Design Pattern de comportement sont  Chain of Responsability  Command4- Les modèles de comportement
  • 55. Les principaux Design Pattern de comportement sont  Chain of Responsability  Command  Iterator 4- Les modèles de comportement
  • 56. Les principaux Design Pattern de comportement sont  Chain of Responsability  Command  Iterator  Mediator 4- Les modèles de comportement
  • 57. Les principaux Design Pattern de comportement sont  Chain of Responsability  Command  Iterator  Mediator  Memento 4- Les modèles de comportement
  • 58. Les principaux Design Pattern de comportement sont  Chain of Responsability  Command  Iterator  Mediator  Memento  Observer 4- Les modèles de comportement
  • 59. Les principaux Design Pattern de comportement sont  Chain of Responsability  Command  Iterator  Mediator  Memento  Observer  State 4- Les modèles de comportement
  • 60.  Strategy 4- Les modèles de comportement
  • 61.  Strategy  Visitor 4- Les modèles de comportement
  • 63. +
  • 64. Les Design Pattern ou Patron de Conception sont des solutions à des problèmes de Génie Logiciel issues de l’expérience d’experts. +
  • 65. 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.
  • 66. 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
  • 67. 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
  • 68. 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.
  • 69. 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.

Notes de l'éditeur

  1. Christopher Alexander (Précurseur) parlais de construction de bâtiments.
  2. Christopher Alexander (Précurseur) parlais de construction de bâtiments.
  3. Christopher Alexander (Précurseur) parlais de construction de bâtiments.
  4. Christopher Alexander (Précurseur) parlais de construction de bâtiments.
  5. Christopher Alexander (Précurseur) parlais de construction de bâtiments.
  6. Christopher Alexander (Précurseur) parlais de construction de bâtiments.
  7. Avant: Le programmeur utilise le patron comme guide lors de l’écriture du code source. Après: Il servira comme exemple pour relier différents modules de ce code source déjà écrits.
  8. Avant: Le programmeur utilise le patron comme guide lors de l’écriture du code source. Après: Il servira comme exemple pour relier différents modules de ce code source déjà écrits.
  9. Avant: Le programmeur utilise le patron comme guide lors de l’écriture du code source. Après: Il servira comme exemple pour relier différents modules de ce code source déjà écrits.