如果一个引用类型对象是空值,有时候就会报错。所以经常要在判断后面加 && xxx==null这样很麻烦。那是不是有简单的方法呢?
17章所讲的空对象模式,不适合所有情况。但在部分情况下确实值得一用。
我这里用C#代码演示一下空对象模式
public class NullPlayer : IPlayer{ #region IPlayer Member public bool Move { return false; } public bool Jump { return false; } #endregion}
private static readonly IPlayer NullPlayer = new NullPlayer();private Iplayer mPlayer = NullPlayer;.........if(KeyPress("Space")){ if(mPlayer.Jump()) { //Do something }}
配合敏捷开发上一章例子中用的状态机,效果会很不错