程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 觀察者模式Demo

觀察者模式Demo

編輯:C#入門知識

 System;
 System.Collections.Generic;
 
 Demo
{
 抽象層,定義了觀察者模式
    
    
    
      
    {
         SubScribe( s);
         UnSubScribe( s);
         Publish( newsTitle);   
    }
 
    
    
    
      
    {
         Read( newsTitle);
    }

 
 實現層,是對抽象層的具體實現
    
    
    
       : 
    {
         <> readers =  <>();
 
          SubScribe( s)
        {
            readers.Add(s);
        }
 
          UnSubScribe( s)
        {
             (readers.Count >0)
            {
                readers.Remove(s);
            }
        }
 
          Publish( newsTitle)
        {
             ( i  readers)
            {
                i.Read(newsTitle);          
            }
        }
    }
 
    
    
    
       : 
    {
          subscriber = .Empty;
         Subscriber( subscriber)
        {
            .subscriber = subscriber;
        }
 
          Read( newsTitle)
        {
            .WriteLine(.Format(, subscriber, newsTitle));
        }
    }

 
      
    {
          Main([] args)
        {
             news =  ();
             zs =  (),
                                 ls =  (),
                                 ww =  ();
 
            news.SubScribe(zs);
            news.SubScribe(ls);
            news.SubScribe(ww);
            news.UnSubScribe(ls);  
 
            news.Publish();
            news.Publish();
 
            .ReadKey();
        }
    }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved