观察者模式:如何区分Observable

时间:2012-05-26 23:12:54

标签: java observer-pattern

在swing应用程序中,文本框1取决于组合框1的所选项目。它还取决于文本框2的文本。如此,文本框1可能取决于各种组件。对于所有这些更改,将调用文本框1的update()方法(遵循Observable Pattern规则)。如何区分哪个组件发生了变化?

2 个答案:

答案 0 :(得分:1)

我不确定我是否了解你。但我认为观察者模式是错误的选择,观察者模式解决了繁忙的等待问题,并通知许多对象主体(可观察的)已经发生变化,反之亦然。你可以弯曲模式规则并让观察者向主体发送一条消息,告知他们已经改变了,但那不再是观察者模式。

注意:在处理设计模式时,请始终查看它们解决的问题,因为在很多情况下实现的方式非常接近,因此无法将它们与代码区分开来。

答案 1 :(得分:0)

取决于您如何实现观察者,通常您会提供触发事件的“发件人”或组件。

这样做..虽然你的Textbox1订阅了3个事件..但是可以检查发件人/组件是谁 是