我需要一些Java代码的帮助。我想知道如何通知对象发生了什么事。让我解释。

我有两个名为“ Julie”和“ Matt”的Person对象。朱莉有时会在不久的将来抽筋,但马特不知道何时(朱莉也不知道)。但马特(Matt)想知道朱莉(Julie)何时得到lolipop。他想得到通知。

请注意:


我不是在问Observable如何做到这一点
我需要知道如何使用自己的界面或完成此任务所需的一切


请看我的草图。

最佳答案

最简单的答案可能是与Julie一起存储对Matt的引用。然后,设置Julie,以便她只能通过单个网关方法(例如setLollipop(boolean b))“接收”棒棒糖。

在此方法中,您可以使用对Matt的引用来在Matt中设置一个标志,以显示朱莉收到了棒棒糖,或者在对Matt的引用上调用一个方法来设置要执行的操作。

在我看来,向Julie“注册” Matt的行为是一种简单的“ Observer”设计模式,但是没有使用EventListeners或Observable接口。

如果我没记错的话,在Julie中调用Matt的方法是“推送”,而让Matt进入Julie则是“拉”通知。但是我还没有预订任何模式,可能会使事情有些混乱。

10-06 04:57