zoukankan      html  css  js  c++  java
  • 设计模式の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();
          }
        }
    }

    四、模式分析

    没啥缺点

  • 相关阅读:
    ActiveMQ持久化消息
    JAXB XML到java object的转换
    Jackson JSON Processor
    Spring JDBC入门
    Quatz入门
    Jersey 入门与Javabean
    记安装ubuntu server和一些程序
    libevent 入门教程:Echo Server based on libevent(转)
    Linux Eclipse 运行Protobuf
    精神状态: Confused
  • 原文地址:https://www.cnblogs.com/xietianjiao/p/8745174.html
Copyright © 2011-2022 走看看