- Auteur : Sébastien Mosser (UQAM)
- Contributeurs: Mireille Blay-Fornarino (UCA), Philippe Collet (UCA)
- Version : 2019.03
- Intégration continue :
Ce dépôt est un support au cours INF-5153 de l'Université du Québec à Montréal. Il recense des implémentation en Java des patrons de conceptions vu dans ce cours. Il est créé en collaboration avec l'Université Côte d'Azur (IUT & Polytech).
Patron de conception | Description | Code d'exemple | Diapositives |
---|---|---|---|
Abstract Factory | ✅ | ❌ | ❌ |
Builder | ✅ | ✅ | ❌ |
Factory | ✅ | ❌ | ❌ |
Prototype | ✅ | ✅ | ❌ |
Singleton | ✅ | ✅ | ❌ |
Patron de conception | Description | Code d'exemple | Diapositives |
---|---|---|---|
Adapter | ✅ | ❌ | ❌ |
Composite | ✅ | ✅ | ❌ |
Decorator | ✅ | ✅ | ❌ |
Facade | ✅ | ❌ | ❌ |
Proxy | ✅ | ✅ | ❌ |
Patron de conception | Description | Code d'exemple | Diapositives |
---|---|---|---|
Command | ✅ | ❌ | ❌ |
Observer | ✅ | ✅ | ❌ |
State | ✅ | ✅ | ❌ |
Strategy | ✅ | ✅ | ❌ |
Template Method | ✅ | ✅ | ❌ |
Visitor | ✅ | ✅ | ❌ |
-
Observer
en utilisant le patron présent dans Java -
Prototype
en utilisant le mécanisme deCloneable
de Java
Pour contribuer au catalogue, n'hésitez pas :
- A forker le dépôt pour proposer de nouvelles implémentations (pull requests bienvenues);
- A utiliser le système d'issues de Github pour rapporter des problèmes ou proposer des évolutions.
- Structure
- Bridge
- Flyweight
- Comportement
- Interpreter
- Chain of Responsbility
- Iterator
- Mediator
- Memento
- Le patrons sont implémenté en Java, version 1.8;
- L'intégration continue utilise
openJDK
en version 11 pour compiler.
- L'intégration continue utilise
- Le dépôt est un projet Maven (3.6);
- Pour compiler l'intégralité des codes,
mvn clean package
à la racine du dépôt. - Pour lancer un projet donné, après l'avoir compilé:
mvn -q exec:java
- Pour compiler l'intégralité des codes,
- Les diagrammes UMLs sont donnés en utilisant le format de PlantUML;
- Pour produire une image
.png
ou.pdf
à partir de la description.puml
, vous devez utiliser le logicielplantuml
(avec lecharset
UTF-8 pour les caractères accentués). - Chaque sous-repertoire
uml
contient uneMakefile
qui construit les images à partir des descriptions (make png
etmake pdf
).
- Pour produire une image