Entwurfsmuster: Singleton in Java

Veröffentlicht: 2021-11-13

Entwurfsmuster sind für Programmierer von Vorteil, wenn sie die besten verfügbaren Praktiken in der objektorientierten Softwareentwicklung nutzen müssen. Design Patterns können als bewährte und erprobte Lösungen zur Lösung des jeweiligen Designproblems verstanden werden. Design Systems beschreibt das Problem, die Lösung, wann die Lösung anzuwenden ist und ihre Folgen. In gewisser Weise können Design Patterns als verschiedene Vorlagen betrachtet werden, die Softwareentwickler implementieren können, wenn sie bestimmte objektorientierte Designprobleme lösen.

Einige der Funktionen der Verwendung von Entwurfsmustern in Java im Vergleich zur Codierung von Grund auf sind:

  • Design Patterns sind bereits definiert und implementiert. Als Ergebnis bieten sie einen Standardansatz zur Lösung sich wiederholender Probleme. In diesem Sinne hilft es Programmierern, viel Zeit und Mühe zu sparen.
  • Die Verwendung von Design Patterns stellt die Wiederverwendbarkeit Ihres Codes sicher, was zu einer hohen Wartbarkeit und Robustheit Ihres Java-Codes führt. All dies reduziert dann die Gesamtbetriebskosten (TCO) der vorliegenden Software.
  • Design Patterns machen den Code leicht lesbar und verständlich, was zu einer schnelleren Kommunikation und einer nahtlosen Softwareentwicklung führt.

Die Programmiersprache Java bietet verschiedene Design Patterns für Programmierer und Entwickler, die grob in drei Kategorien unterteilt werden können:

  • Kreative Designmuster
  • Strukturelle Entwurfsmuster
  • Verhaltensdesignmuster

Alle diese Muster werden für unterschiedliche Anwendungsfälle und Zwecke verwendet. Lassen Sie uns in diesem Artikel über eine Art von Entwurfsmuster in Java sprechen – das Singleton-Entwurfsmuster, das in die Kategorie der schöpferischen Entwurfsmuster fällt.

Inhaltsverzeichnis

Singleton-Entwurfsmuster in Java

Das Singleton Design Pattern gehört zur Kategorie „Creational Design Pattern“. Es stellt sicher, dass eine Klasse nur eine Instanz hat und stellt dieser Instanz einen globalen Zugriffspunkt zur Verfügung. Dabei löst das Singleton Design Pattern zwei Probleme auf einmal – dazu gehören:

1. Es stellt sicher, dass eine bestimmte Klasse nur eine Instanz hat.

Dies ist wichtig zu berücksichtigen, insbesondere wenn Sie an gemeinsam genutzten Ressourcen wie einer Datenbank oder einer Datei arbeiten. Stellen Sie sich vor, Sie haben ein Objekt erstellt, sich aber nach einer Weile entschieden, ein neues zu erstellen. Im Singleton-Entwurfsmuster erhalten Sie anstelle eines neuen Objekts das bereits erstellte. Auf diese Weise stellt dieses Entwurfsmuster sicher, dass keine Redundanz von Objekten vorhanden ist und dass eine Klasse nur eine Instanz hat. Dieses Verhalten kann nicht mit Konstruktoren repliziert werden, da Konstruktoraufrufe immer ein neues Objekt zurückgeben müssen.

2. Stellt einen globalen Zugangspunkt zu der bestimmten Instanz bereit.

Die globalen Variablen, die Sie zum Speichern wichtiger Objekte verwenden, sind ziemlich praktisch. Sie sind auch gleichermaßen unsicher, da jedes Stück Code die Macht hat, den Inhalt Ihrer globalen Variablen zu überschreiben, was zu einem fehlerhaften Stück Code für Sie führt. Genau wie globale Variablen können Sie mit Singleton Patterns von überall im Programm auf verschiedene Objekte zugreifen. Im Gegensatz zu globalen Variablen schützt Singleton Patterns diese Instanz jedoch davor, von einem anderen Programm überschrieben zu werden.

Heutzutage ist das Singleton-Entwurfsmuster so weit verbreitet und weit verbreitet, dass Programmierer etwas Singleton nennen können, selbst wenn es nur eines der oben aufgeführten Probleme löst. Alle Implementierungen von Singleton Design Patterns haben die folgenden zwei Schritte gemeinsam:

  • Den Standardkonstruktor privat machen, um zu verhindern, dass andere Klassen und Objekte neue Operatoren mit Singleton-Klassen verwenden.
  • Erstellen einer statischen Erstellungsmethode, die als Konstruktor fungiert. Diese Methode ruft dann den privaten Konstruktor auf, um ein Objekt zu erstellen, und speichert es in einem statischen Feld. Alle anstehenden Aufrufe dieser bestimmten Methode geben nun das zwischengespeicherte Objekt zurück.

Die Funktionsweise der Regierung ist ein hervorragendes Beispiel aus dem wirklichen Leben, um zu verstehen, wie Singleton Design Patterns funktionieren. Unabhängig von der persönlichen Identität der Personen, die die Regierungen bilden, ist der Titel „Die Regierung von X“ der globale Zugangspunkt, der die Personengruppe identifiziert, über die gesprochen wird.

Implementieren von Singleton-Entwurfsmustern in Java

Bitte gehen Sie die folgende Liste von Schritten durch, um Ihr eigenes Singleton-Entwurfsmuster in Java zu implementieren:

  • Fügen Sie der Klasse, in der Sie die Singleton-Instanz speichern möchten, ein privates statisches Feld hinzu.
  • Um die entsprechende Singleton-Instanz zu erhalten, müssen Sie eine öffentliche statische Methode deklarieren.
  • Jetzt müssen Sie die „Lazy Initialization“ innerhalb der statischen Methode ausführen. Dies sollte im Wesentlichen ein neues Objekt bei seinem ersten Aufruf entwickeln und dieses in das statische Feld stellen. Die statische Methode muss bei allen nachfolgenden Aufrufen immer diese bestimmte Instanz zurückgeben.
  • Machen Sie den Konstruktor privat. Die statische Methode der Klasse kann weiterhin den Konstruktor aufrufen, aber nicht die anderen Objekte.
  • Bitte gehen Sie den Client-Code durch und ersetzen Sie alle direkten Aufrufe des Konstruktors von Singleton durch Aufrufe seiner statischen Erstellungsmethode.

Abschließend

Java ist eine sehr vielfältige und einflussreiche Programmiersprache und hat sich als Grundlage für die meisten der heute verwendeten Web- und Desktop-Anwendungen herauskristallisiert. Es bietet mehrere Funktionen und Strategien, die Programmierer verwenden können, um leistungsfähigere Software auf optimierte Weise zu entwickeln. Entwurfsmuster sind eine solche Strategie, die von Java-Programmierern angewendet wird, um ihre Codes lesbar, wiederverwendbar und verständlich zu machen.

Entwurfsmuster bilden eines der grundlegenden Konzepte, mit denen sich jeder angehende Softwareentwickler befassen sollte. Die Welt der Softwareentwicklung ist breit gefächert und deckt alle Aspekte von Front-End, Back-End, Datenbank, Server und mehr ab. In einem solchen Szenario ist es das Gebot der Stunde, Ihren Lernansatz zu organisieren. Bei upGrad können Sie sich Softwareentwicklungskurse ansehen, die Ihnen helfen, eine langfristige Karriere im Bereich der Softwareentwicklung aufzubauen. Dieser in Zusammenarbeit mit IIIT-B angebotene Kurs wird von Branchenexperten unterrichtet und gibt Ihnen die Möglichkeit, Ihre Karriere in die Richtung Ihrer Wahl voranzutreiben. Schauen Sie sich die Kursdetails an und melden Sie sich noch heute an – der Kurs beginnt am 30. September 2021!

Ist das Singleton-Entwurfsmuster das einzige mit Java verfügbare Entwurfsmuster?

Nein, Java bietet viele Design Patterns für Programmierer, und Singleton ist nur eines davon.

Welche Arten von Entwurfsmustern sind mit Java verfügbar?

Java bietet im Großen und Ganzen drei Arten von Entwurfsmustern für Entwickler;
1. Kreative Designmuster
2. Strukturelle Entwurfsmuster
3. Verhaltensdesignmuster

Welche Vorteile bietet die Verwendung von Entwurfsmustern in Java?

Die Verwendung von Entwurfsmustern in Ihrem Code bietet die folgenden sicheren Vorteile:
1. Verbesserte Lesbarkeit
2. Verbesserung der Modularität
3. Leichte Zugänglichkeit
4. Einfaches Entwerfen und Erstellen von Programmen.