C#学习笔记之状态模式详解-创新互联

本文通过例题为大家讲解C#学习笔记之状态模式,供大家参考,具体内容如下

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名、网络空间、营销软件、网站建设、平昌网站维护、网站推广。

题目1:通过代码描述每一天的不同时间段的工作效率

分析:

  首先确定,工作状态指正在工作,或者以及下班这些情况,而这些情况所受影响的因素包括:当前时间以及任务是否已经完成。所以在Work中需要两个属性:hour和finish。然后根据这两个属性直接判断当前的工作状态即可。

实现:

class Program
  {
    static void Main(string[] args)
    {
      //紧急项目
      Work emergencyProject = new Work();
      emergencyProject.Hour = 9;
      emergencyProject.WriteProgram();
      emergencyProject.Hour = 10;
      emergencyProject.WriteProgram();
      emergencyProject.Hour = 12;
      emergencyProject.WriteProgram();
      emergencyProject.Hour = 13;
      emergencyProject.WriteProgram();
      emergencyProject.Hour = 14;
      emergencyProject.WriteProgram();
      emergencyProject.Hour = 17;
      emergencyProject.Finish = false;
      emergencyProject.WriteProgram();
      emergencyProject.Hour = 19;
      emergencyProject.WriteProgram();
      emergencyProject.Hour = 22;
      emergencyProject.WriteProgram();

      Console.Read();
    }
    public class Work
    {
      private int hour;
      private bool finish = false;

      public int Hour
      {
        get { return hour; }
        set { hour = value; }
      }
      public bool Finish
      {
        get { return finish; }
        set { finish = value; }
      }
      /// 
      /// 根据时间来判断当前的工作状态如何
      /// 
      /// 方法过长
      /// 
      public void WriteProgram()
      {
        if (hour < 12)
        {
          Console.WriteLine("当前时间:{0}点 上午工作,精神百倍", hour);
        }
        else if (hour < 13)
        {
          Console.WriteLine("当前时间:{0}点 饿了,午饭;犯困,午休", hour);
        }
        else if (hour < 17)
        {
          Console.WriteLine("当前时间:{0}点 下午状态还不错,继续努力", hour);
        }
        else
        {
          if (finish)
          {
            Console.WriteLine("当前时间:{0}点 下班回家了", hour);
          }
          else
          {
            if (hour < 21)
            {
              Console.WriteLine("当前时间:{0}点 加班哦,疲惫至极", hour);
            }
            else
            {
              Console.WriteLine("当前时间:{0}点 不行了,睡着了。", hour);
            }
          }
        }
      }
    }
  }

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:C#学习笔记之状态模式详解-创新互联
转载来源:http://pwwzsj.com/article/ddesos.html