Vous êtes sur la page 1sur 1

Exercice : Patron de Conception Poids Mouche (Flyweight)

Dans cet exercice, vous allez concevoir et implémenter un système de gestion de documents en
utilisant le patron de conception poids mouche (flyweight). Ce patron de conception est utile lorsque
vous avez un grand nombre d'objets similaires à créer et que vous souhaitez économiser de la mémoire
en partageant les données communes entre ces objets.

Voici les spécifications de l'exercice :

1. Créez une interface `Document` avec une méthode `afficher()` pour représenter un document.

2. Implémentez une classe concrète `DocumentImpl` qui implémente l'interface `Document`. Cette
classe devrait avoir des attributs intrinsèques tels que le nom du document et le type de fichier.

3. Créez une classe `FabriqueDeDocuments` (FlyweightFactory) qui stocke et gère les documents créés.
Utilisez une map pour associer les clés uniques (par exemple, nom du document + type de fichier) aux
instances de documents créées.

4. Dans la classe de démonstration `Demo`, utilisez la fabrique de documents pour obtenir plusieurs
instances de documents avec des attributs similaires et différents. Affichez ensuite ces documents en
appelant leur méthode `afficher()`.

Assurez-vous de comprendre le concept de partage d'instances d'objets similaires avec des attributs
intrinsèques et extrinsèques, et comment cela peut aider à économiser de la mémoire dans une
application.

Vous aimerez peut-être aussi