0% ont trouvé ce document utile (0 vote)
17 vues20 pages

Singleton

Le document présente le design pattern Singleton, qui garantit qu'une classe n'a qu'une seule instance accessible globalement. Il décrit son intention, son applicabilité, sa structure, son implémentation en Java, ainsi que ses avantages et inconvénients. Le Singleton est essentiel pour la gestion des ressources partagées dans la conception logicielle.

Transféré par

Ahmadou Bamba MBOUP
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues20 pages

Singleton

Le document présente le design pattern Singleton, qui garantit qu'une classe n'a qu'une seule instance accessible globalement. Il décrit son intention, son applicabilité, sa structure, son implémentation en Java, ainsi que ses avantages et inconvénients. Le Singleton est essentiel pour la gestion des ressources partagées dans la conception logicielle.

Transféré par

Ahmadou Bamba MBOUP
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

PATTERN

SINGLETON

EQUIPE
Abou M. Fadel GUIRO ABDOULAYE FALL IBRAHIMA GNING
Member of GOT Member of GOT Member of GOT
PLAN

1
Introduction
Face aux manques d’expériences ou de méthodes de conception de logiciel, de
nombreux problèmes se posent comme l’efficacité du code, l’ergonomie et la
réutilisabilité.

Les design patterns vont apporter des solutions liés aux problèmes précités.

2
Design Pattern
I.1 Définition
Lorsqu’une question revient encore et encore dans différents projets,
Quelqu’un se décide finalement à détailler la solution et à lui donner un nom.

Ce sont des solutions classiques à des problèmes connus en conception orientée


objet.
SOLUTION

DESIGN
PROBLÉME
PATTERN

CONTEXTE

3
Design Pattern
I.2 Les différentes type de design pattern

PATTERN
PATTERN PATTERN
COMPORTEMEN
CREATION STRUCTURE
T

4
Design Pattern
I.3 Les design patterns de création

Factory Singleton Abstract Factory

Builder Prototype

5
Le Singleton
II.1 Intention

Assure qu’une classe aura une seule instance, fournit un accès global à cette instance.

6
Le Singleton
II.1 Applicabilité

Utilisez le pattern singleton quand:

 Il doit exister exactement une unique instance de cette classe, et il doit être accessible
aux clients à partir d’un point d’accès bien connu.

 l’unique instance devrait être extensible par héritage, et que les utilisateurs devront
être en mesure d’utiliser une instance étendue sans modifier leur code.

7
Le Singleton
II. 3 Problématique

 Comment garantir l’unicité d’une instance pour une classe

 Et fournir un point d’accès global à cette instance.

8
Le Singleton
II. 4 Solution

Rendre le constructeur par défaut privé afin d’empêcher les autres objets d’utiliser
l’opérateur new avec la classe du singleton.

Mettre en place une méthode de création statique qui se comporte comme un


constructeur. En sous-main, cette méthode appelle le constructeur privé pour créer un
objet et le sauvegarde dans un attribut statique. Tous les appels ultérieurs à cette
méthode retournent l’objet en cache.

9
Le Singleton
II. 4 Structure

Singleton

-uniqueInstance: Singleton

-Singleton()
+getInstance(): Singleton

10
Le Singleton
II. 5 Implémentation en JAVA

public class Singleton {


private volatile static Singleton uniqueInstance; // protected from external access
static private Singleton() {
//Code du constructeur
}
public static synchronized Singleton getInstance() {
// public method, call out by code
if (uniqueInstance == null) {
// si une instance n’existe pas encore, on la crée
uniqueInstance = new Singleton();
}
return uniqueInstance;
}
}

11
Le Singleton
II. 6 Participants

Singleton

définit une opération Instance qui permet aux clients d’accéder à son instance unique.

Peut être responsable de la création de son unique instance.

12
Le Singleton
II. 7 Collaborations

Les utilisateurs accèdent à l’instance de la classe à travers l’opération


d’instanciation.

13
Le Singleton
II. 8 Utilisation connues

Accès à l’interface matérielle

logger

Fichier de configuration

Cache

14
Le Singleton
II. 9 Relation avec les autres patterns

15
Le Singleton
II. 10 Avantages vs Inconvénients

X
• 42 206 181
• 219 10 114
 Non
 Non respect
respect du
du principe
principe de
de responsabilité
responsabilité unique
unique
 Garantir
 Garantir l’unicité
l’unicité de
de l’instance
l’instance de
de la
la classe
classe
 Test
 Test unitaires
unitaires du
du code
code client
client difficiles
difficiles
 Obtention
 Obtention d’un
d’un point
point accès
accès global
global
 Obligation
 Obligation de
de bénéficier
bénéficier d’un
d’un traitement
traitement spécial
spécial
 Implémentation
 Implémentation simple
simple
pour
pour fonctionner
fonctionner dans
dans son
son environnement
environnement
 Réduction
 Réduction de
de l’utilisation
l’utilisation de
de la
la mémoire
mémoire
 Utilisation
 Utilisation non
non justifiée
justifiée

16
REFERENCES

REFACTORING
GURU

17
Conclusion

Le singleton est un pattern indispensable pour la gestion de ressource partagée dans la


conception logicielle, certains patterns de création peuvent être implémenter en utilisant
le pattern singleton. Pour une implémentation efficace nous devons faire recours aux
threads car à défaut de ce dernier des incohérences du système peuvent se produire.

18
Merci de votre aimable attention

Vous aimerez peut-être aussi