《敏捷软件开发》学习笔记 第17章 空对象模式

如果一个引用类型对象是空值,有时候就会报错。所以经常要在判断后面加 && xxx==null这样很麻烦。那是不是有简单的方法呢?

17章所讲的空对象模式,不适合所有情况。但在部分情况下确实值得一用。

我这里用C#代码演示一下空对象模式

public class NullPlayer : IPlayer
{
    #region IPlayer Member
    public bool Move
    {
        return false;
    }

    public bool Jump
    {
        return false;
    }
    #endregion
}
NullPlayer class


use:

private static readonly IPlayer NullPlayer = new NullPlayer();

private Iplayer mPlayer = NullPlayer;
...
...
...

if(KeyPress("Space"))
{
    if(mPlayer.Jump())
    {
        //Do something
    }
}

配合敏捷开发上一章例子中用的状态机,效果会很不错

原文地址:https://www.cnblogs.com/hont/p/3128159.html