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

Cours c#
Cours c#Cours c#
Cours c#zan
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
Manipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracleManipulation des Données , cours sql oracle
Manipulation des Données , cours sql oraclewebreaker
 
Créer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresCréer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresRobert Viseur
 
Formation PHP
Formation PHPFormation PHP
Formation PHPkemenaran
 
SOLID Maitrisez votre programmation Objet​
SOLID Maitrisez votre programmation Objet​SOLID Maitrisez votre programmation Objet​
SOLID Maitrisez votre programmation Objet​Vincent Petetin
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à androidLilia Sfaxi
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.pptIdriss22
 
alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)Alphorm
 
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
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPKristen Le Liboux
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oraclewebreaker
 

Tendances (20)

Modele mvc
Modele mvcModele mvc
Modele mvc
 
Cours c#
Cours c#Cours c#
Cours c#
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Manipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracleManipulation des Données , cours sql oracle
Manipulation des Données , cours sql oracle
 
P5 stockage
P5 stockageP5 stockage
P5 stockage
 
Introduction a Flutter
Introduction a FlutterIntroduction a Flutter
Introduction a Flutter
 
Créer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libresCréer un moteur de recherche avec des logiciels libres
Créer un moteur de recherche avec des logiciels libres
 
Formation PHP
Formation PHPFormation PHP
Formation PHP
 
SOLID Maitrisez votre programmation Objet​
SOLID Maitrisez votre programmation Objet​SOLID Maitrisez votre programmation Objet​
SOLID Maitrisez votre programmation Objet​
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à android
 
Drools et les moteurs de règles
Drools et les moteurs de règlesDrools et les moteurs de règles
Drools et les moteurs de règles
 
Base de donnees Avancees et Intro à NoSQL.ppt
Base de donnees Avancees et Intro à  NoSQL.pptBase de donnees Avancees et Intro à  NoSQL.ppt
Base de donnees Avancees et Intro à NoSQL.ppt
 
alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)
 
Université du soir - TDD
Université du soir - TDDUniversité du soir - TDD
Université du soir - TDD
 
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
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Création de Vues | SQL Oracle
Création de Vues | SQL OracleCréation de Vues | SQL Oracle
Création de Vues | SQL Oracle
 
Cours php
Cours phpCours php
Cours php
 
Python avancé : Classe et objet
Python avancé : Classe et objetPython avancé : Classe et objet
Python avancé : Classe et objet
 
Plsql
PlsqlPlsql
Plsql
 

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

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Ville de Châteauguay
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésSana REFAI
 
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfMedAbdelhayeSidiAhme
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoireEzechiasSteel
 
le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptximaneeaouattahee
 

Dernier (6)

Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
Présentation_Soirée-Information_ Surverse_Thibert _30 avril 2024
 
Algo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigésAlgo II: les files cours + exercices corrigés
Algo II: les files cours + exercices corrigés
 
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdfpdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
pdfcoffee.com_4-production-fond-des-puits-completion-pdf-free.pdf
 
mémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoiremémoire genie civil presenté lors de la soutenance de mémoire
mémoire genie civil presenté lors de la soutenance de mémoire
 
JTC 2024 Bâtiment et Photovoltaïque.pdf
JTC 2024  Bâtiment et Photovoltaïque.pdfJTC 2024  Bâtiment et Photovoltaïque.pdf
JTC 2024 Bâtiment et Photovoltaïque.pdf
 
le probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptxle probleme de la planification JSP exposee (2) (2).pptx
le probleme de la planification JSP exposee (2) (2).pptx
 

Design patterns avec Symfony