设计模式系列-策略模式-创新互联

     今天下班回家,吃完晚饭后在网上闲逛,看了看电视剧《男人帮》的经典台词,感觉很经典,虽然这个电视剧我早已经在上个月就看完了,但是看了看里面的经典开场白和台词,还是不由自主的伸出大拇指,赞啊!

创新互联服务电话:18980820575,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联网页制作领域十载,包括成都自上料搅拌车等多个领域拥有多年的网站设计经验,选择创新互联,为网站保驾护航。

      列举部分台词如下:

     (1)自从我们睁开眼睛看这个世界的第一天起, 我们看到的就只有两种人,男人和女人。 他们分属于两大不同的阵营,为了彻底收服对方,大家互相往死里掐。
      (2)根据一个遥远的传说,说有一种东西叫爱情,可以彻底终结这场战争。 于是大家纷纷的赶紧去寻找,赶紧去幻想, 找到头破血流才发现,原来这个感情也是另一些人在书房里炮制出来的。 于是大家更加绝望,更加痛苦,更加互相的往死里掐。

       1、场景案例
       尤其是上面这几句,让我想起了我一同事(这里用“某某哥”代替)和他女朋友的故事(这里用“某某嫂”代替),一次活动中,某某哥认识了某某嫂,那个一见钟情呀,简直是看不见某某嫂就吃不下饭、写不下代码呀,在追求中也没少费工夫。比如:送小礼物,请客吃饭,搞浪漫等等,我们就把这几个阶段分别用代码模拟一下把!

          ①第一阶段赠送小礼物代码如下:

  1. //第一阶段 送小礼物  
  2.     public static void SendGift()  
  3.     {  
  4.         Console.WriteLine("送给女方精美小礼物!");  
  5.     }  
  6.  
  7.     static void Main(string[] args)  
  8.     {  
  9.         //第一阶段   
  10.         SendGift();  
  11.     } 

          ② 此时、通过送精美小礼物女方已经愿意与男方接触,这时就可以一起吃饭了,代码如下:

  1. //第一阶段 送小礼物  
  2.  public static void SendGift()  
  3.  {  
  4.      Console.WriteLine("送给女方精美小礼物!");  
  5.  }  
  6.  
  7.  //添加 第二阶段 请客吃饭  
  8.  public static void Eat()  
  9.  {  
  10.      Console.WriteLine("请女生吃牛排!");  
  11.  }  
  12.  
  13.  static void Main(string[] args)  
  14.  {  
  15.      //第一阶段   
  16.      //SendGift(); //此时第一阶段已经不需要了所以注销掉进入第二阶段  
  17.  
  18.      //第二阶段  
  19.      Eat();  
  20.  } 

        ③ 经过之前阶段的接触,两人已经在一起了,在一起就免不了在热恋中经历浪漫情节,第三阶段:制造浪漫、代码如下:

  1. //第一阶段 送小礼物  
  2.       public static void SendGift()  
  3.       {  
  4.           Console.WriteLine("送给女方精美小礼物!");  
  5.       }  
  6.  
  7.       //添加 第二阶段 请客吃饭  
  8.       public static void Eat()  
  9.       {  
  10.           Console.WriteLine("请女生吃牛排!");  
  11.       }  
  12.  
  13.       //添加 第三阶段 浪漫:烛光晚餐等待女友  
  14.       public static void Romantic()  
  15.       {  
  16.           Console.WriteLine("精心制作了红酒、晚餐与蜡烛,等待女友回家!");  
  17.       }  
  18.  
  19.       static void Main(string[] args)  
  20.       {  
  21.           //第一阶段   
  22.           //SendGift(); //此时第一阶段已经不需要了所以注销掉进入第二阶段  
  23.  
  24.           //第二阶段  
  25.           //Eat(); //此时第二阶段也已经经过,所以注销掉、进入第三阶段  
  26.  
  27.           //第三阶段  
  28.           Romantic();  
  29.       }  
             看了某某哥追某某嫂的经过后,我们会发现,每当进入一个新阶段的时候,我们就需要去修改我们的代码,加入新的追女策略,并且将main函数中的调用修改成进入新的阶段,那么我们怎么样能避免,在进入新阶段后不去修改调用的代码呢?当然这个肯定难不倒你,代码如下:

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


分享标题:设计模式系列-策略模式-创新互联
分享网址:http://pwwzsj.com/article/egdgo.html