SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
DESIGN PATTERNS.PDF
rmed19
SLIDE 1
1
Design
patterns
Mohammed Rhamnia
DESIGN PATTERNS.PDF
rmed19
SLIDE 2
2
Mohammed
Rhamnia
Qui suis je ?
Symfonian depuis 6
ans.Ingénieur développeur chez Edatis
Consultant Symfony indépendant
DESIGN PATTERNS.PDF
rmed19
SLIDE 3
3
C'est quoi un patron de
conception ?Solution générique d'implémentation répondant à
un problème spécifique
S'applique avec La POO.
Originaire des travaux de
l’architecte Christopher Alexander
Formalisés dans le livre du GoF :
Design Patterns Elements of Reusable Object
Oriented Software
DESIGN PATTERNS.PDF
rmed19
SLIDE 4
4
Catégories
Les patrons
de
comportem
ent
Les patrons
de
structure
Les patrons
de
création
DESIGN PATTERNS.PDF
rmed19
SLIDE 5
5
Classification
GoF Enterprise IntegrationGRASP
- 23 patrons :
* Factory
* Observer
* Adapter
* Builder
* Proxy
* Prototype
* Iterator
* Visitor
* ....
- 9 patrons :
* Controller
* Creator
* High Cohesion
* Indirection
* Information Expert
* Low Coupling
* Polymorphism
* Protected Variations
* Pure Fabrication
- 10 catégories
- Exemples :
* Gateway
* Mapper
* Layer Supertype
* Separated Interface
* Registry
* Plugin
* .....
DESIGN PATTERNS.PDF
rmed19
SLIDE 6
6
Model - View - Controller
Modèle : Gère les données.
Vue : Gère l'affichage des données.
Contrôleur : L'intermédiaire entre le
modèle et la vue
c
Exemple 1
DESIGN PATTERNS.PDF
rmed19
SLIDE 7
7
M-V-C
Exemple 1
DESIGN PATTERNS.PDF
rmed19
SLIDE 8
8
Patron de création permettant, à partir
d'une interface, de créer une famille
d'objets sans pour autant spécifier de
classes concrètes.
Abstract FactoryExemple 2
DESIGN PATTERNS.PDF
rmed19
SLIDE 9
9
Patron de création permettant, à partir
d'une interface, de créer une famille
d'objets sans pour autant spécifier de
classes concrètes.
Abstract FactoryExemple 2
DESIGN PATTERNS.PDF
rmed19
SLIDE 10
10
Abstract FactoryExemple 2
DESIGN PATTERNS.PDF
rmed19
SLIDE 11
11
Abstract Factory
Exemple 2
DESIGN PATTERNS.PDF
rmed19
SLIDE 12
12
Le pattern Monteur (Builder) permet
de créer des objets complexes à partir
d'autres objets.
BuilderExemple 3
DESIGN PATTERNS.PDF
rmed19
SLIDE 13
13
BuilderExemple 3
DESIGN PATTERNS.PDF
rmed19
SLIDE 14
14
BuilderExemple 3
DESIGN PATTERNS.PDF
rmed19
SLIDE 15
15
BuilderExemple 3
DESIGN PATTERNS.PDF
rmed19
SLIDE 16
16
Patron structurelle, il permet de
déplacer les données entres les objets
et la base de données.
Data MapperExemple 4
DESIGN PATTERNS.PDF
rmed19
SLIDE 17
17
Data MapperExemple 4
DESIGN PATTERNS.PDF
rmed19
SLIDE 18
18
Patron comportemental, qui permet de
séparer de manière très simple les
données et les traitements associés.
VisitorExemple 5
DESIGN PATTERNS.PDF
rmed19
SLIDE 19
19
VisitorExemple 5
DESIGN PATTERNS.PDF
rmed19
SLIDE 20
20
VisitorExemple 5
DESIGN PATTERNS.PDF
rmed19
SLIDE 21
21
Thank 
you
medrhamnia.wordpress.com
Contact
@rmed19

Contenu connexe

Tendances

Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JSAbdoulaye Dieng
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataLhouceine OUHAMZA
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)ENSET, Université Hassan II Casablanca
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express jsAbdoulaye Dieng
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
A la découverte de vue.js
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.jsBruno Bonnin
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapBassem ABCHA
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...MOHAMMED MOURADI
 

Tendances (20)

Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Formation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-dataFormation jpa-hibernate-spring-data
Formation jpa-hibernate-spring-data
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
A la découverte de vue.js
A la découverte de vue.jsA la découverte de vue.js
A la découverte de vue.js
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
Application web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrapApplication web php5 html5 css3 bootstrap
Application web php5 html5 css3 bootstrap
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Introduction à React
Introduction à ReactIntroduction à React
Introduction à React
 
Spring Boot RestApi.pptx
Spring Boot RestApi.pptxSpring Boot RestApi.pptx
Spring Boot RestApi.pptx
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Angular 11
Angular 11Angular 11
Angular 11
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 

Similaire à Design patterns avec Symfony

Une application sans framework en 2019
Une application sans framework en 2019Une application sans framework en 2019
Une application sans framework en 2019Rodrigue Villetard
 
Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009LINAGORA
 
Méthode d’implémentation efficace des modèles PAC et PAC-Amodeus à l’aide de ...
Méthode d’implémentation efficace des modèles PAC et PAC-Amodeus à l’aide de ...Méthode d’implémentation efficace des modèles PAC et PAC-Amodeus à l’aide de ...
Méthode d’implémentation efficace des modèles PAC et PAC-Amodeus à l’aide de ...IHM'10
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!Alexandre Touret
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Arnaud Auroux
 
[Figma Tokens pour un handoff effectif] FoFCotonou event.pptx
[Figma Tokens pour un handoff effectif] FoFCotonou event.pptx[Figma Tokens pour un handoff effectif] FoFCotonou event.pptx
[Figma Tokens pour un handoff effectif] FoFCotonou event.pptxFriends Of Figma, Cotonou
 
Presentation du framework symfony
Presentation du framework symfonyPresentation du framework symfony
Presentation du framework symfonyJeremy Gachet
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation Microsoft
 
Presentation Symfony
Presentation SymfonyPresentation Symfony
Presentation SymfonyJeremy Gachet
 
Introduction à Drupal 8
Introduction à Drupal 8Introduction à Drupal 8
Introduction à Drupal 8Core-Techs
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la rechercheJohan Moreau
 
BDD avec Behat, PhpSpec et Symfony2
BDD avec Behat, PhpSpec et Symfony2BDD avec Behat, PhpSpec et Symfony2
BDD avec Behat, PhpSpec et Symfony2Mohammed Rhamnia
 
MD Day 2009 - Cédric Vidal - 1.0
MD Day 2009 - Cédric Vidal - 1.0MD Day 2009 - Cédric Vidal - 1.0
MD Day 2009 - Cédric Vidal - 1.0Cedric Vidal
 
Presentation PFE sur le PIM (Product Information Management)
Presentation PFE sur le PIM (Product Information Management)Presentation PFE sur le PIM (Product Information Management)
Presentation PFE sur le PIM (Product Information Management)younes elmorabit
 
DreamFace Bluemix Girls Night
DreamFace Bluemix Girls NightDreamFace Bluemix Girls Night
DreamFace Bluemix Girls NightIBM France Lab
 
Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7Core-Techs
 

Similaire à Design patterns avec Symfony (20)

Une application sans framework en 2019
Une application sans framework en 2019Une application sans framework en 2019
Une application sans framework en 2019
 
Jcom02.ppt
Jcom02.pptJcom02.ppt
Jcom02.ppt
 
Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009
 
Diapo PFE
Diapo PFEDiapo PFE
Diapo PFE
 
Méthode d’implémentation efficace des modèles PAC et PAC-Amodeus à l’aide de ...
Méthode d’implémentation efficace des modèles PAC et PAC-Amodeus à l’aide de ...Méthode d’implémentation efficace des modèles PAC et PAC-Amodeus à l’aide de ...
Méthode d’implémentation efficace des modèles PAC et PAC-Amodeus à l’aide de ...
 
Firefox comme navigateur alternatif
Firefox comme navigateur alternatifFirefox comme navigateur alternatif
Firefox comme navigateur alternatif
 
[TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte![TNT19] Hands on: Objectif Top Architecte!
[TNT19] Hands on: Objectif Top Architecte!
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8
 
[Figma Tokens pour un handoff effectif] FoFCotonou event.pptx
[Figma Tokens pour un handoff effectif] FoFCotonou event.pptx[Figma Tokens pour un handoff effectif] FoFCotonou event.pptx
[Figma Tokens pour un handoff effectif] FoFCotonou event.pptx
 
Presentation du framework symfony
Presentation du framework symfonyPresentation du framework symfony
Presentation du framework symfony
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 
Presentation Symfony
Presentation SymfonyPresentation Symfony
Presentation Symfony
 
Introduction à Drupal 8
Introduction à Drupal 8Introduction à Drupal 8
Introduction à Drupal 8
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
 
BDD avec Behat, PhpSpec et Symfony2
BDD avec Behat, PhpSpec et Symfony2BDD avec Behat, PhpSpec et Symfony2
BDD avec Behat, PhpSpec et Symfony2
 
MD Day 2009 - Cédric Vidal - 1.0
MD Day 2009 - Cédric Vidal - 1.0MD Day 2009 - Cédric Vidal - 1.0
MD Day 2009 - Cédric Vidal - 1.0
 
Presentation PFE sur le PIM (Product Information Management)
Presentation PFE sur le PIM (Product Information Management)Presentation PFE sur le PIM (Product Information Management)
Presentation PFE sur le PIM (Product Information Management)
 
DreamFace Bluemix Girls Night
DreamFace Bluemix Girls NightDreamFace Bluemix Girls Night
DreamFace Bluemix Girls Night
 
Keynote drupagora 2015 7
Keynote drupagora 2015 7Keynote drupagora 2015 7
Keynote drupagora 2015 7
 
Formation FRBRoo 201407
Formation FRBRoo 201407Formation FRBRoo 201407
Formation FRBRoo 201407
 

Dernier

CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptbentaha1011
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfalainfahed961
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSKennel
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...maach1
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).FatimaEzzahra753100
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxdocteurgyneco1
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesangevaleryn
 

Dernier (9)

CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.pptCHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
CHAPITRE 2 VARIABLE ALEATOIRE probabilité.ppt
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdfActions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
Actions du vent sur les bâtiments selon lEurocode 1 – Partie 1-4.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_APC.pdf
 
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
Cours-de-Ponts Cours de Ponts Principes généraux - Conception Méthodes de con...
 
présentation sur la logistique (4).
présentation     sur la  logistique (4).présentation     sur la  logistique (4).
présentation sur la logistique (4).
 
Support de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptxSupport de cours La technologie WDM.pptx
Support de cours La technologie WDM.pptx
 
Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024Note agro-climatique n°2 - 17 Avril 2024
Note agro-climatique n°2 - 17 Avril 2024
 
Chapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniquesChapitre 2 : fondations et analyses de données géotechniques
Chapitre 2 : fondations et analyses de données géotechniques
 

Design patterns avec Symfony