- 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 | ✅ | ✅ | ❌ |
-
Observeren utilisant le patron présent dans Java -
Prototypeen utilisant le mécanisme deCloneablede 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
openJDKen 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
.pngou.pdfà partir de la description.puml, vous devez utiliser le logicielplantuml(avec lecharsetUTF-8 pour les caractères accentués). - Chaque sous-repertoire
umlcontient uneMakefilequi construit les images à partir des descriptions (make pngetmake pdf).
- Pour produire une image