<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      代碼改變世界

      結(jié)合項目實例 回顧傳統(tǒng)設(shè)計模式(二)觀察者模式

      2011-10-02 13:43  熬夜的蟲子  閱讀(711)  評論(0)    收藏  舉報

      觀察者模式現(xiàn)在用的不是很多 重點看下它的設(shè)計思想 OK 下面繼續(xù) 消息中心的那點事

      /// <summary>
          
      /// 數(shù)據(jù)中心
          
      /// </summary>
          public class MessageData
          {
              
              public void messageSend()
              {
                  string title = observer.getTitle();
                  string content = observer.getContent();

                  //針對具體實現(xiàn)編程,會導(dǎo)致我們以后再增加或者刪除消息平臺時 必須要重新維護Platformlist 有時甚至還要重構(gòu)代碼
                  foreach (Platform p in observer.Platformlist)
                  {
                      p.update(title, content);
                  }
              }
          }

      上述情況在soa體系架構(gòu)中凸顯比較嚴重,基本上數(shù)據(jù)中心作為基站程序不適合版本經(jīng)常更新

      那么這和一對多得關(guān)系有何關(guān)聯(lián)

      利用觀察者模式,數(shù)據(jù)中心是具體狀態(tài)的對象,并且可以控制這些狀態(tài)。也就是說,有“一個”具有狀態(tài)的數(shù)據(jù)體。另一方面,觀察者模式使用這些狀態(tài),雖然這些狀態(tài)不屬于他們。有許多的觀察者,依賴主題來告訴他們狀態(tài)合適改變了。這就產(chǎn)生了一個關(guān)系:“一個”數(shù)據(jù)中心對于“多個”消息發(fā)布者的關(guān)系。

      松耦合的威力:當(dāng)兩個對象松耦合,他們依然可以交互,但是不清楚彼此的細節(jié)。觀察者模式提供了一種對象設(shè)計,讓主題和觀察者之間松耦合。

       

      /// <summary>
          
      /// 數(shù)據(jù)中心
          
      /// </summary>
          public class MessageData : MessageDateIF
          {
              private ArrayList observers;
              private string title;
              private string content;

              public MessageData()
              {
                  observers = new ArrayList();
              }

              public void RegisterPlatform(observerIF o)
              {
                  observers.Add(o);
              }

              public void RemovePlatform(observerIF o)
              {
                  int i = observers.IndexOf(o);
                  if (i > 0) { observers.Remove(i); }
              }

              public void NotifyPlatform()
              {
                  foreach (observerIF o in observers)
                  {
                      o.update(title, content);
                  }
              }
              
              public void MessageChanged(string title,string content)
              {
                  this.title = title;
                  this.content = content;
                  NotifyPlatform();
              }
          }

          public interface observerIF
          {
              void update(string title, string content);
             
          }
         
          public interface MessageDateIF
          {
              void RegisterPlatform(observerIF o);
              void RemovePlatform(observerIF o);
              void NotifyPlatform();
          }

          public interface DisplayElemnet
          {
              void Display();
          }

          public class PlatformA : observerIF, DisplayElemnet
          {
              private string title;
              private string content;
              private MessageDateIF messagedata;

              public PlatformA(MessageDateIF messagedata)
              {
                  this.messagedata = messagedata;
              }
              public void update(string title, string content)
              {
                  this.title = title;
                  this.content = content;
                  Display();
              }
              public void Display()
              {
                  Console.WriteLine("title:" + title + " content:" + content);
              }
          }

       

      總結(jié):為了對象之間的松耦合而設(shè)計。觀察者模式定義了對象之間一對多依賴,這樣一來,當(dāng)一個對象改變狀態(tài)時,它的所有一攔著都會收到通知并自動更新

      主站蜘蛛池模板: 日韩中文字幕亚洲精品| 国产综合一区二区三区麻豆| 国产精品午夜福利在线观看| 国产无遮挡又黄又大又爽| 亚洲乱码日产精品bd在线| 亚洲综合成人av在线| 亚洲国产精品成人av网| 亚洲国产欧美在线观看| 91精品国产综合久蜜臀| 色护士极品影院| 一本久道久久综合中文字幕| 黑人巨茎大战白人美女| 精品久久精品久久精品久久| 成人免费毛片aaaaaa片| 亚洲精品一区二区三区大| 国产精品自拍中文字幕| 99热这里只有精品免费播放| 国产成人自拍小视频在线| 亚洲无av码一区二区三区| 亚洲一区二区中文av| 河间市| 国产一区二区三区高清视频| 亚洲色大成网站www久久九| 中文字幕国产日韩精品| 亚洲人午夜精品射精日韩| 亚洲a人片在线观看网址| 亚洲色最新高清AV网站| 深夜在线观看免费av| 国产成人人综合亚洲欧美丁香花 | 麻豆果冻传媒2021精品传媒一区| 无码a∨高潮抽搐流白浆| 日韩黄色av一区二区三区| 国产精品久久久久久无毒不卡| 在国产线视频A在线视频| 国产精品一二二区视在线| 中文字幕在线日韩| 一区二区三区四区五区自拍| 国产亚洲精品第一综合麻豆| 国产av最新一区二区| 日区中文字幕一区二区| 国产AV无码专区亚洲AV漫画|