0% ont trouvé ce document utile (0 vote)
13 vues17 pages

Chapitre 4 - Design Patterns - Creation

Les Design Patterns (DP) sont des solutions typiques aux problèmes de conception de logiciels, offrant des concepts généraux plutôt que du code préétabli. Ils sont classés en trois catégories : les patterns de création, structurels et comportementaux, chacun ayant des intentions spécifiques. Étudier les DP permet d'acquérir des solutions éprouvées et de faciliter la communication au sein des équipes de développement.

Transféré par

ketatnimaryam004
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues17 pages

Chapitre 4 - Design Patterns - Creation

Les Design Patterns (DP) sont des solutions typiques aux problèmes de conception de logiciels, offrant des concepts généraux plutôt que du code préétabli. Ils sont classés en trois catégories : les patterns de création, structurels et comportementaux, chacun ayant des intentions spécifiques. Étudier les DP permet d'acquérir des solutions éprouvées et de faciliter la communication au sein des équipes de développement.

Transféré par

ketatnimaryam004
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPTX, PDF, TXT ou lisez en ligne sur Scribd

Design Patterns

Introduction
 Sont des solutions typiques aux problèmes courants de conception de
logiciels.

 Chaque modèle est comme un plan que vous pouvez personnaliser


pour résoudre un problème de conception particulier dans votre code.

 Il ne s’agit pas d’un morceau de code préétabli, mais un concept


général pour résoudre un problème particulier.

 A ne pas confondre avec les algorithmes. Un algorithme définit


toujours un ensemble clair d'actions qui peuvent atteindre un objectif,
un Design Pattern est une description de niveau plus élevé d'une
solution.
Introduction

 La plupart des design patterns sont décrits de manière très formelle


afin que les gens puissent les reproduire dans de nombreux
contextes.

 En général, dans la définition ou description de chaque DP, définit :


 L'intention : décrit brièvement à la fois le problème et la solution.
 La motivation : explique le problème et la solution que le modèle rend
possible.
 La structure des classes : montre chaque partie du modèle et comment
elles sont liées.
 Un exemple de code : dans l'un des langages de programmation
populaires facilite la compréhension de l'idée derrière le modèle.
Pourquoi étudier les DPs
 En tant que programmeur, on peut bien coder sans connaître un seul
DP.

 On peut aussi implémenter certains modèles sans même le savoir.

 Alors pourquoi passer du temps à les étudier ?

1. Les DPs sont une boîte à outils de solutions éprouvées aux


problèmes courants de conception de logiciels. Même si vous ne
rencontrez jamais ces problèmes, connaître les modèles est
toujours utile car cela vous apprend à résoudre toutes sortes de
problèmes en utilisant les principes de la conception orientée
objet.
2. Les DPs définissent un langage commun qu’une équipe peut
utiliser pour communiquer plus efficacement.
Classification des DPs
 Les DPs peuvent être classés en fonction de leur intention ou de leur
objectif.

 On distingue généralement trois principaux groupes de DPs :


 Les patterns de création (Creational patterns) : fournissent des
mécanismes de création d'objets qui augmentent la flexibilité et la
réutilisation du code existant.
 Les patterns structurels (Structural patterns) : expliquent comment
assembler des objets et des classes dans des structures plus grandes, tout
en gardant ces structures flexibles et efficaces.
 Les patterns de comportement (Behavioral patterns) : veillent à une
communication efficace et à l'attribution des responsabilités entre les
objets.
Patterns de Création
Les patterns de création – 1)
Singleton
Intention : permet de s’assurer qu'une classe n'a qu'une seule
instance, tout en fournissant un point d'accès global à cette instance.

 Problème : le Singleton règle 2 problèmes :


 S'assurer qu'une classe n'a qu'une seule instance
 Fournissez un point d'accès global à cette instance.

 Solution :
 Rendre le constructeur par défaut privé,
 Créez une méthode de création statique qui agit
comme un constructeur.

 Le code ?
Les patterns de création – 1)
Singleton
Le code ?

 Exemple en Java : Calendar, LocalDate, …


Les patterns de création – 2) Builder
 Intention : Créer un objet complexe en étape
 Le Builder est particulièrement utile lorsque la création.
 Problème :
 La création d'objets complexes tels que les objets de
configuration, les requêtes SQL, les documents XML, n’est pas
simple. Ces objets nécessitent un grand nombre de
paramètres et souvent ces objets doivent être
configurables de manière flexible.

 Solution :
 Utiliser un Builder qui configure petit à petit l’objet avant de le
créer.
Les patterns de création – 2) Builder
 Code ?
Les patterns de création – 2) Builder
 Exemples
Les patterns de création – 3) Factory
 Intention : définit une interface pour créer des objets, et permet aux
sous-classes de choisir la classe concrète à instancier.

 Problème :
 résout principalement le problème de la création d'objets dans
des situations où vous ne savez pas à l'avance la classe exacte de
l'objet que vous souhaitez créer
Les patterns de création – 3) Factory
 Code ?
Les patterns de création – 3) Factory
 Exemples ?
Les patterns de création – 4)
Prototype
Intention : L'objectif principal du pattern Prototype est de permettre
la création d'objets sans spécifier leur classe exacte, mais plutôt en
se basant sur un objet existant comme modèle.

 Problème :
 Construction d’objet compliquée, gourmande en mémoire
 Solution :
 Utiliser le clonage, on clone les objets au lieu de passer par le
constructeur
Les patterns de création – 4)
Prototype
Codes ?
Les patterns de création – 4)
Prototype
Exemples

Vous aimerez peut-être aussi