【发布时间】:2013-06-06 08:58:53
【问题描述】:
我有一个Class A,一旦对A 进行任何更改,它就会通知Class B,而B 类也会通知A,反之亦然。
如何实现这样的设计?任何样本都可以。
【问题讨论】:
-
答案就在你的标题中。这里没有什么特别的,只是使用观察者模式。两种方式。
标签: oop design-patterns observer-pattern
我有一个Class A,一旦对A 进行任何更改,它就会通知Class B,而B 类也会通知A,反之亦然。
如何实现这样的设计?任何样本都可以。
【问题讨论】:
标签: oop design-patterns observer-pattern
这种模式在观察者和主题之间完全可以互换(反之亦然),毕竟它们只是通知其他对象的对象。简单地做,
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!
}
}
【讨论】: