设计模式のNullObjectPattern(空对象模式)----行为模式
一、产生背景
在空对象模式(Null Object Pattern)中,一个空对象取代 NULL 对象实例的检查。Null 对象不是检查空值,而是反应一个不做任何动作的关系。这样的 Null 对象也可以在数据不可用的时候提供默认的行为。
在空对象模式中,我们创建一个指定各种要执行的操作的抽象类和扩展该类的实体类,还创建一个未对该类做任何实现的空对象类,该空对象类将无缝地使用在需要检查空值的地方。
二、实现方式
引入一个特殊处理的对象
三、代码实现
public class Others : IBall { public void Play() { Console.WriteLine("您选择的球类项目目前还不存在~~"); } } class Program { static void Main(string[] args) { IBall ball = null; SportsMan man = new SportsMan(); while (true) { Console.WriteLine("选择你喜欢的球类项目(1=足球, 2=篮球,3=排球)"); string input = Console.ReadLine(); switch (input) { case "1": ball = new Football(); break; case "2": ball = new Basketball(); break; case "3": ball = new Volleyball(); break; default: ball = new Others(); break; } man.SetHobby(ball); man.StartPlay(); } } }
四、模式分析
没啥缺点