Skip to content

Repository files navigation

Catalogue des patrons de conception du GoF

  • Auteur : Sébastien Mosser (UQAM)
  • Contributeurs: Mireille Blay-Fornarino (UCA), Philippe Collet (UCA)
  • Version : 2019.03
  • Intégration continue : Build Status

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).

Patrons disponibles

Création

Patron de conception Description Code d'exemple Diapositives
Abstract Factory ✅ ❌ ❌
Builder ✅ ✅ ❌
Factory ✅ ❌ ❌
Prototype ✅ ✅ ❌
Singleton ✅ ✅ ❌

Structure

Patron de conception Description Code d'exemple Diapositives
Adapter ✅ ❌ ❌
Composite ✅ ✅ ❌
Decorator ✅ ✅ ❌
Facade ✅ ❌ ❌
Proxy ✅ ✅ ❌

Comportement

Patron de conception Description Code d'exemple Diapositives
Command ✅ ❌ ❌
Observer ✅ ✅ ❌
State ✅ ✅ ❌
Strategy ✅ ✅ ❌
Template Method ✅ ✅ ❌
Visitor ✅ ✅ ❌

Bonus

  • Observer en utilisant le patron présent dans Java
  • Prototype en utilisant le mécanisme de Cloneable de Java

Contribuer au catalogue

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.

Patrons non couverts dans le cours

  • Structure
    • Bridge
    • Flyweight
  • Comportement
    • Interpreter
    • Chain of Responsbility
    • Iterator
    • Mediator
    • Memento

Environement Logiciel

  • Le patrons sont implémenté en Java, version 1.8;
    • L'intégration continue utilise openJDK en version 11 pour compiler.
  • 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
  • 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 logiciel plantuml (avec le charset UTF-8 pour les caractères accentués).
    • Chaque sous-repertoire uml contient une Makefile qui construit les images à partir des descriptions (make png et make pdf).

About

Catalogue de code d'exemples pour patrons de conceptions orientés objet

Resources

Stars

26 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages