Nullobjekt (Entwurfsmuster)

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Mit Nullobjekt wird sowohl ein Entwurfsmuster (englisch null object pattern) der Kategorie der Verhaltensmuster (engl. behavioural pattern) als auch das in diesem Entwurfsmuster verwendete Objekt benannt (englisch null object). 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[Bearbeiten]

  • Es wird einer Codevervielfältigung entgegengewirkt.
  • Es wird verhindert, dass „null pointer exceptions“ auftreten, wenn an einer Verwendungsstelle des Objekts eine Ausnahmebehandlung vergessen wurde.

Nachteile[Bearbeiten]

  • Ein Nullobjekt, das an die Stelle des Werts „null“ treten soll, muss die öffentlichen Methoden der entsprechenden Schnittstelle implementieren. Das Refactoring hin zu 'Nullobjekt' kann daher aufwändig sein.

Variante[Bearbeiten]

  • Das Nullobjekt kann als Singleton (Einzelstück) realisiert werden. Diese Variante belegt weniger Speicher, da nur noch eine Instanz des Nullobjekts instanziiert wird.

Literatur[Bearbeiten]

  •  Martin Fowler: Refactoring. Wie Sie das Design vorhandener Software verbessern. Addison-Wesley, München 2000 (Originaltitel: Refactoring. Improving The Design Of Existing Code, übersetzt von Bernd Kahlbrandt), ISBN 3-8273-1630-8, S. 264–272.