Activité : Patrons de conception - Singelton

Situation

On vous demande de pouvoir expliquer et mettre en œuvre le design pattern Singelton.

Consigne

Durant ce travail, on vous demande de réaliser les tâches décrites ci-après.

Objectifs

À la fin de ce travail, vous devez :

  1. Être capable d’expliquer comment une class Singelton est réalisée.
  2. Être capable de réaliser une class Singelton.

Durée

La durée estimée de cette activité est de deux périodes.

Prérequis

Les prérequis nécessaires au bon déroulement de cette acitivté sont:

  1. De connaître la base de la programmation orientée objet.

Résultat attendu

  • Une fiche de travail:
    • expliquant le rôle du pattern Singelton,
    • représentant le diagramme UML du pattern Singelton
    • expliquant le fonctionnement du pattern Singelton,
    • mentionnant quand et pourquoi ce pattern devrait être utilisé,
    • mettant en évidence les parties de code à modifier afin d’insérer ce pattern dans une class java quelconque.

Vous devez rendre cette fiche de travail personnel sur le dépôt moodle du module 226B. Le nom de votre document doit être M226B_Singelton_Nom_Prénom.pdf

Ressources

Documents :

Logiciels :

Introduction

Pour cette activité, nous faisons l’hypothèse que NetBeans est installé sur votre machine (Si cela ne serait pas le cas, veuillez vous référer à ces instructions d’installation). Ainsi que Visual Paradigm.

Premier pas

Reproduisez le diagramme UML figurant sur la documentation Wikipédia mentionné plus haut. Notez ce qui change par rapport à une déclaration de classe que vous avez l’habitude de réaliser.

Exécutons la classe de l’exemple

Copiez la classe de l’exemple et réalisez depuis une autre class nommée UtilisationSingelton plusieurs instanciations de la classe implémentant ce design pattern.

Application

On vous demande de créer une class SqlConnection implémentant le design pattern Singelton, pour cela vous devez :

  • Créer son diagramme de classe (UML)
  • Réaliser la javadoc
  • Implémenter les signatures des méthodes sur la base de l’interface IDBConnection ci-dessous.
  • D’incorporer tout ceci dans votre fiche de travail.
1
2
3
4
5
6
import java.sql.ResultSet;

public interface IDbConnection {
    public ResultSet select(String sql);
    public void close();
}
Fig. 1 — Code de l’interface IDbConenction.java.