Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Java

Le pattern Singleton en Java expliqué : implémentation et utilisation sûre

Le pattern Singleton en Java expliqué

Découvrez comment implémenter le pattern de conception Singleton en Java avec des exemples pratiques, assurant une instance unique dans toute votre application.

En Java, le pattern Singleton garantit qu'une classe n'a qu'une seule instance et fournit un point d'accès global vers celle-ci.

Pour créer un Singleton robuste, une classe doit inclure :


Exemple : Syntaxe de classe Singleton Java

class SingletonExample { // Référence vers l'instance unique private static SingletonExample singleObject; // Constructeur privé empêche l'instanciation externe private SingletonExample() { // Code d'initialisation ici } // Point d'accès global avec initialisation paresseuse public static SingletonExample getInstance() { if (singleObject == null) { singleObject = new SingletonExample(); } return singleObject; } } 

Explication des composants :


Quand utiliser les Singletons en Java

Les Singletons brillent dans les scénarios nécessitant une ressource partagée unique, comme un pool de connexions base de données, un gestionnaire de configuration, ou un logger. Par exemple, un helper base de données peut assurer qu'une seule connexion est active pour tous les clients :

class Database { private static Database dbObject; private Database() { // Constructeur privé } public static Database getInstance() { if (dbObject == null) { dbObject = new Database(); } return dbObject; } public void getConnection() { System.out.println("You are now connected to the database."); } } class Main { public static void main(String[] args) { Database db1 = Database.getInstance(); db1.getConnection(); } } 

Le programme affiche :

You are now connected to the database.

Points clés de cet exemple :

Le Singleton est un pattern de conception, pas une fonctionnalité du langage Java. C'est une technique de codage réutilisable documentée dans Design Patterns: Elements of Reusable Object‑Oriented Software par Gamma et al.


Utilisez les Singletons avec parcimonie. Ils sont les plus appropriés pour les ressources sans état ou à état partagé comme le logging ou la configuration. Si vous hésitez, considérez des alternatives comme l'injection de dépendances ou une simple classe utilitaire statique. Pour plus de détails, lisez What is so bad about Singleton?.

Java

  1. Comprendre le mot-clé final en Java : variables, méthodes et classes
  2. L'opérateur instanceof en Java : guide complet
  3. Comprendre les classes imbriquées statiques en Java : utilisation, différences et exemples
  4. Maîtriser les classes internes anonymes en Java : définition, syntaxe et exemples pratiques
  5. Maîtriser la réflexion Java : inspection des classes, méthodes et champs à l'exécution
  6. Maîtriser Java ObjectOutputStream : Sérialisation, méthodes et exemples pratiques
  7. Maîtriser les génériques Java : Construire du code réutilisable et type-safe
  8. Maîtriser les opérations sur les fichiers Java avec java.io – Création, lecture, écriture et suppression
  9. Maîtriser Java : Comprendre les Objets, Classes et Concepts POO de Base