如何在客户端类上建立Observer和Observable?

时间:2013-06-06 08:58:54

标签: oop design-patterns observer-pattern

我有一个Class A,一旦对Class B所做的任何更改通知A,而B类也会通知A,反之亦然

如何实施这样的设计?任何样本都可以使用。

1 个答案:

答案 0 :(得分:0)

从Observer到Subject(或反之亦然),模式完全可以互换,毕竟它们只是通知其他对象的对象。简单地说,

interface ISubject 
{ 
    void notifyObservers(); 
}

interface IObserver 
{ 
    void notify(); 
}

class A : ISubject, IObserver
{
    public void notifyObservers()
    {
        // Notify B that I've change!
    }

    public void notify()
    {
        // B has changed, do something!
    }
}

class B : ISubject, IObserver
{
    public void notifyObservers()
    {
        // Notify A that I've change!
    }

    public void notify()
    {
        // A has changed, do something!
    }
}