Null Object 模式的使用比较特别,主要用来实现程序的稳定性和统一化。
一下代码很常见:
public void do(Object obj){
if(obj == null){
....//code 1
}else{
...//code 2
}
}
如果忘记了判断obj,则会出现无法预料的情况。但是,太多的null 判断则会影响程序的结构和统一。
尝试一下一下代码:
public class SomeClass{
public static SomeClass NULL = new SomeClass();// do nothing but an instance, using it instead of null
public static SomeClass getInstance(){
if(,,,,){
return NULL;
}
else{
return ,,,,;
}
}
public void do(){
...
}
...
}
public class Test{
public static void main(String[] args){
SomeClass instance = SomeClass.getInstance();
instance.do();
}
}
这样对于SomeClass 类的对象的行为就一致了,不需要进行null 判断了。