O'Reilly logo

Scala Functional Programming Patterns by Atul S. Khot

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Null Objects – singletons in another garb

One popular form in which singletons are used is the Null Object pattern. Let's see what a Null Object is.

Java gives us the null reference to indicate a missing value. We are not supposed to call a method on it as there is no object. If, erroneously, we do, we are greeted with a Null Pointer Exception (NPE). When we design methods to return nulls, the client code that calls the method needs to check assiduously. This is what a typical null check-based Java code looks like:

       Point p = makeAPoint(); // a method that returns null in some cases
       if (p != null) { // the dreaded null check – onus is on us...
            // We are on sure grounds
       }

The problem is that the onus term is on us to check for a reference being null. ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required