导航

观察者模式

Posted on 2007-02-10 11:32  老光  阅读(159)  评论(0)    收藏  举报
      OBSERVER(观察者)模式的------定义对象间的一种一对多的关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知,并被自动更新。
      比较倾向于使用事件来进行更新通知。
     
public interface ISubject
{
}

public interface IObserver
{
    
//盯紧哪个目标
    ISubject Subject 
    
{
       
set;
    }

}


public class SubjectDemo:ISubject
{
    
public delegate void UpdateEventHandle(object sender, EventArgs e);
    
public event UpdateEventHandle OnUpdate=null;
            
    
public void DoSomething()
    
{
        
if(OnUpdate!=null)
            OnUpdate(
this,null);
    }

    
//.
}


public class ObserverDemo:IObserver
{
     
protected ISubject m_Subject;
     
public ISubject Subject
     
{
         
set{ m_Subject=value;}
         m_Subject.OnUpdate
+=new UpdateEventHandle(this.Update);
     }

     
     
//.
     public void Update()
     
{
     }

}