《敏捷软件开发》学习笔记 第17章 空对象模式
2013-06-09 10:26
211 查看
如果一个引用类型对象是空值,有时候就会报错。所以经常要在判断后面加 && xxx==null这样很麻烦。那是不是有简单的方法呢?
17章所讲的空对象模式,不适合所有情况。但在部分情况下确实值得一用。
我这里用C#代码演示一下空对象模式
NullPlayer class
use:
配合敏捷开发上一章例子中用的状态机,效果会很不错
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 } }
配合敏捷开发上一章例子中用的状态机,效果会很不错
相关文章推荐
- 敏捷软件开发:原则、模式与实践——第16章 对象图、第17章 用例、第18章 顺序图
- 《敏捷软件开发》学习笔记 第16章 单例模式和MonoState模式
- 《敏捷软件开发》学习笔记 第14章 模板方法模式和策略模式
- 《深度学习C++对象模型》学习笔记1:关于对象
- 《Java编程思想》学习笔记1——面向对象和JVM基础
- 设计模式前篇面向对象设计原则
- 《企业集成模式.设计、构建及部署消息传递解决方案》学习笔记
- javaSE-面向对象-单例设计模式
- 第17章 行为型模式—解释器模式
- 学习笔记——JAVA设计模式<16>解释器模式
- 《Java编程思想》学习笔记15——对象序列化
- 适配器模式(Adapter)-对象结构型模式
- 设计模式十三:proxy(代理)——对象结构型模式
- Design Patterns(设计模式 可复用面向对象软件的基础)
- 面向对象的设计模式
- 设计模式十四:chain of responsibility(职责连模式)——对象行为型模式
- 深入PHP面向对象、模式与实践——执行及描述任务(2)
- JAVA基础再回首(二十六)——面向对象思想设计原则、设计模式、简单工厂模式、工厂方法模式、单例设计模式之饿汉式和懒汉式、Runtime类
- 对象间的联动——观察者模式
- 复杂对象的组装与创建——建造者模式