敏捷软件开发 - 原则、模式与实践 —— 设计模式(五)NULL OBJECT模式

本文为敏捷软件开发 - 原则、模式与实践系列的一部分。

本文对应原书第17章

该模式会消除对null进行检查的需要,并且有助于简化代码。

public interface Employee {  
    public bool isTimeToPay(DateTime time);  
    public void pay();  
    
    public static final Employee NULL =    new Employee() {
        public bool IsTimeToPay(DateTime time) {
            return false;
        }
        
        public void Pay() {}
    };
}

结论

那些长期使用C-based语言的人已经习惯于函数对某种失败返回null或者0。我们认为对这样的函数的返回值是需要检查的。NULL OBJECT模式改变了这一点。使用该模式,我们可以确保函数总是返回有戏的对象,即使在它们失败时也是如此。这些代表失败的对象“什么也不做”。

完整内容请查看敏捷软件开发 - 原则、模式与实践系列

你可能感兴趣的:(敏捷软件开发 - 原则、模式与实践 —— 设计模式(五)NULL OBJECT模式)