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