Vous êtes sur la page 1sur 20

Patterns Prototype

& Builder
Présentés par
Yaya SANE
Ravi WORA
Mohamed THIARE

Sous la direction de M.KHOUSSA

1
Plan de travail
Introduction
Pattern Prototype
Pattern Builder

2
Introduction
Les patrons de création fournissent des mécanismes de
création d'objets qui augmentent la flexibilité et la
réutilisation du code.

❏ Pattern Prototype
❏ Pattern Builder

3
Pattern Prototype
Prototype est un patron de conception qui crée de nouveaux objets à partir d'objets existants sans rendre le
code dépendant de leur classe.

Problème de conception
Le système doit créer de nouvelles instances, mais il ignore de quelle classe. Il dispose cependant
d'instances de la classe désirée.

Solution
Le patron de conception prototype est utilisé lorsque la création d'une instance est complexe ou
consommatrice en temps. Plutôt que de créer plusieurs instances de la classe, on copie la première instance
et on modifie la copie de façon appropriée.

4
Structure

5
Pattern Prototype
Participants
❏ Prototype

❏ PrototypeImplA

❏ PrototypeImplB

❏ Client

Collaboration entre les objets


Prototype : définit l'interface de duplication de soi-même.
PrototypeImplA et PrototypeImplB : sont des sous-classes concrètes de Prototype. Elles implémentent l'interface de
duplication.
La partie cliente appelle la méthode clone() de la classe Prototype. Cette méthode retourne un double de l'instance.

6
Demo: Pattern Prototype

https://github.com/thiareMohamed/pattern_prototype 7
Pattern Builder
Le pattern Builder est un modèle de conception qui permet de construire des objets complexes étape par
étape. Il permet de simplifier la création d'objets complexes et de faciliter la maintenance du code.

Problème de conception
La création d'objets complexes peut être difficile et conduire à un code encombrant et difficile à
maintenir.
Les constructeurs avec des paramètres multiples peuvent être difficiles à utiliser et à comprendre.

Solution et avantage de Builder


Le pattern Builder permet de construire des objets complexes étape par étape. Il utilise une interface pour
définir les étapes de la construction et une classe concrète pour implémenter ces étapes. Il permet
également d'ajouter de nouvelles étapes de construction sans modifier le code existant.

13
Structure

14
Pattern Builder

Participants
❏ Interface: Builder

❏ Classe BuilderImpl

❏ Sujet

❏ Client

Collaboration entre les objets


Le client instancie le Sujet via l’interface Builder

15
Demo: Pattern Builder

https://github.com/thiareMohamed/test_patern_builder 16
19
MERCI
Sources: ChatGpt, Med yousoufy 20

Vous aimerez peut-être aussi