8. Februar 2013

Entwurfsmuster: Nullobjekt

Als "Nullobjekt" wird sowohl das gleichnamige Verhaltensmuster bezeichnet, als auch das dafür notwendige Objekt. Es ersetzt dabei den Wert "null", wenn keine Referenz auf ein gültiges Objekt vorhanden ist. Methodenaufrufe auf ein Nullobjekt führen dabei ins Leere, d.h. es wird keine Aktion ausgeführt.

Besondere Bedeutung haben Nullobjekte wenn sie in Verbindung mit Fabrikmethoden oder abstrakten Fabriken eingesetzt werden. Der Klient kennt dabei nur die Schnittstelle der, von der Fabrik zurückgegebenen Objekte, die entweder ein konkretes Objekt oder ein Nullobjekt sein können.

Vorteile:
  • Häufig benötigte if-Klauseln, die auf null-Referenzen prüfen, werden nicht weiter benötigt.
  • NullPointerExceptions, die bei vergessenen Null-Prüfungen auftreten können, werden vermieden.
Nachteile:
  • Das Nullobjekt muss die entsprechende Schnittstelle implementieren, was bei vielen Methoden einen großen Aufwand bedeuten kann.

Keine Kommentare:

Kommentar veröffentlichen