Skip to content

Latest commit

 

History

History
 
 

NullObject

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Null Object

Purpose

NullOutput is a example of NullObject pattern. It is not formally a Design Pattern by the GoF but it's a schema which appears frequently enough to be a pattern. Furthermore it is a really good pattern in my opinion:

  • the code in the client is simple
  • it reduces the chance of null pointer exception
  • less "if" => less test cases

Every time you have a method which returns an object or null, you should return an object or a NullObject. With NullObject, you don't need a statement like if (!is_null($obj)) { $obj->callSomething(); } anymore.

Examples

  • Symfony2: null logger of profiler
  • Symfony2: null output in Symfony/Console
  • null handler in a Chain of Responsibilities pattern
  • null command in a Command pattern