README NullObject

This commit is contained in:
Dominik Liebler
2013-09-24 13:42:52 +02:00
parent c3ede29de8
commit 722218f1a2
2 changed files with 21 additions and 18 deletions

20
NullObject/README.md Normal file
View File

@@ -0,0 +1,20 @@
# 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