新設計模式——空對象模式

空對象模式

空對象模式(Null Object Pattern):通過實現一個默認的無意義對象來避免null值出現。簡單地說,就是爲了避免在程序中出現null值判斷而誕生的一種常用設計方法。

這裏我們通過一個簡單的例子進行介紹:

(1)我們首先定義一個動物接口,然後定義一隻狗,實現狗叫的方法。

//定義動物接口 
public interface Animal { 
    public void makeSound(); 
}

//定義狗 
class Dog implements Animal{ 
    public void makeSound(){ 
        System.out.println(“Wang Wang Wang!”); 
    } 
}

(2)定義一個人來聽狗叫

public class Person { 
    //聽狗叫 
    public void hear(Animal animal){ 
        if(animal != null){ 
            animal.makeSound(); 
        } 
    } 
}

這個類裏存在一個null的判斷,我們想去掉null值的判斷怎麼辦呢?只需要再增加一個NullAnimal類即可,這樣就不會存在接收動物爲空的情況了。

class NullAnimal implements Animal{ 
    public void makeSound(){ 
    } 
}

增加該類後,我們的Person類可以修改爲:

public class Person { 
    //聽狗叫 
    public void hear(Animal animal){ 
        animal.makeSound();  
    } 
}

空對象模式是通過空代碼實現一個接口或抽象類的所有方法,以滿足開發需求,簡化程序。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章