【问题标题】:How to establish Observer and Observable both on a client class?如何在客户端类上同时建立 Observer 和 Observable?
【发布时间】:2013-06-06 08:58:53
【问题描述】:

我有一个Class A,一旦对A 进行任何更改,它就会通知Class B,而B 类也会通知A,反之亦然。

如何实现这样的设计?任何样本都可以。

【问题讨论】:

  • 答案就在你的标题中。这里没有什么特别的,只是使用观察者模式。两种方式。

标签: oop design-patterns observer-pattern


【解决方案1】:

这种模式在观察者和主题之间完全可以互换(反之亦然),毕竟它们只是通知其他对象的对象。简单地做,

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!
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多