Nullobjekt (Entwurfsmuster)
Ein Nullobjekt ist ein Entwurfsmuster (englisch null object pattern) der Kategorie der Verhaltensmuster in der Softwareentwicklung. Das Entwurfsmuster Nullobjekt findet Anwendung bei der Deaktivierung von Referenzen auf Variablen und besteht darin, der Referenz ein Objekt zuzuweisen, das keine Aktion ausführt, anstatt die Referenz zu invalidieren. Dadurch wird erreicht, dass die Referenz auf die Variable zu jedem Zeitpunkt auf ein gültiges Objekt verweist, was Behandlungen von Sonderfällen (das Nichtvorhandensein) erübrigt.
Vorteile
- Es wird eine Code-Vervielfältigung vermieden.
- Es werden Fehler verhindert, wenn keine Überprüfung stattfand.
Nachteile
- Ein Nullobjekt, das an die Stelle des Werts null treten soll, muss die öffentlichen Methoden der entsprechenden Schnittstelle implementieren.
Variante
- Das Nullobjekt kann als Singleton (Einzelstück) umgesetzt werden. Diese Variante belegt weniger Speicher, da nur noch eine Instanz des Nullobjekts instanziiert wird.
Literatur
- Martin Fowler: Refactoring. Wie Sie das Design vorhandener Software verbessern. Addison-Wesley, München 2000, ISBN 3-8273-1630-8, S. 264–272 (englisch: Refactoring. Improving The Design Of Existing Code. Übersetzt von Bernd Kahlbrandt).