FACULTE POLYTECHNIQUE
DEPARTEMENT DE GENIE INFORMATIQUE
COURS de Programmation Orientée Objet
GROUPE BARCELONA
1. WATENDA SONGI
2. MWALI INDONGE
3. ABONGI LINDEMBU
Professeur Dr. Ir. Vianney
KYAMAKYA
Année académique 2024-2025
1. Présentation du Contexte et des Objectifs
D’après les consignes, nous devons :
1. Utiliser le Pattern Factory pour générer des objets de type :
o Livre
o Vêtement
o Électronique
2. Utiliser le Pattern Singleton pour centraliser la gestion d’un Panier (un seul panier
pour toute l’application).
3. Simuler l’ajout d’articles dans ce panier et afficher le contenu du panier.
4. Documenter et justifier l’usage de ces patterns en mettant en avant leurs avantages.
2. Architecture Générale
Pour structurer le projet, on peut organiser les classes comme suit :
3. Implémentation en Java
3.1. Interface Article
3.2. Classe Livre
3.3. Classe Vetement
3.4. Classe Electronique
3.5. Classe ArticleFactory (Pattern Factory)
3.6. Classe Panier (Pattern Singleton)
3.7. Classe de Démonstration Main
Exécution
Avantage
1. Pattern Factory
o Flexibilité : simplifie la création d’objets de différents types, en regroupant la
logique dans une seule classe (ArticleFactory).
o Maintenabilité : si l’on doit ajouter un nouveau type d’article (par exemple
Chaussure), il suffit de l’ajouter dans la factory.
o Séparation des responsabilités : le code client ne connaît pas les détails de
construction des objets et reste donc plus léger.
2. Pattern Singleton
o Contrôle d’accès : assure qu’une seule instance de Panier existera.
o Facilité d’utilisation : via la méthode statique getInstance(), on obtient
toujours le même panier dans toute l’application.
o Lecture plus claire : pas besoin de passer un objet Panier entre toutes les
classes.
3. Structuration
o Les designs patterns contribuent à mieux structurer l’architecture de
l’application, avec un code plus modulaire, réutilisable et testable.
Conclusion
En résumé, l’implémentation présentée illustre parfaitement comment
l’utilisation des design patterns Factory et Singleton peut transformer la manière dont
nous concevons et développons des applications Java. Grâce à la Factory, nous
centralisons la logique de création des différents types d’articles, ce qui simplifie non
seulement le code client mais améliore également la maintenabilité et l’évolutivité de
l’application. De son côté, le pattern Singleton garantit l’unicité de notre gestionnaire
de panier, assurant ainsi une cohérence et une centralisation essentielles dans la
manipulation des données.
Cette approche modulaire permet de répondre aux exigences fonctionnelles tout
en posant les bases d’une architecture solide, facilement testable et extensible. En
maîtrisant ces concepts, vous êtes désormais en mesure de construire des solutions
robustes, adaptées à des projets de plus en plus complexes, et de justifier vos choix
techniques tant du point de vue de la performance que de la clarté du code.
L’intégration de ces patterns dans votre développement constitue un levier
stratégique pour l’optimisation de vos applications et vous positionne comme un acteur
averti dans la conception de systèmes modulaires et pérennes.