我需要一些Java代码的帮助。我想知道如何通知对象发生了什么事。让我解释一下。
我有两个名为“Julie”和“Matt”的Person对象。 Julie有时会在不久的将来得到一个lolipop,但Matt不知道什么时候(Julie也不知道)。但马特想知道朱莉什么时候会得到lolipop。他希望得到通知。
请注意:
请看我的草图。
答案 0 :(得分:0)
最简单的答案可能是与马莉一起存储对马特的引用。然后,设置Julie以便她只能通过单一网关方法“接收”棒棒糖,例如setLollipop(boolean b)。
在这个方法中,您可以使用Matt的引用在Matt中设置一个标志,显示Julie收到Lollipop,或者在Matt的引用上调用一个方法来设置一些动作。
在我看来,Matt与Julie“注册”的行为是一种简单的“观察者”设计模式,但没有使用EventListeners或Observable接口。
如果我正确地记住我的模式,在Julie中使用一种方法称Matt是一个“推动”并且让Matt签入Julie是一种“拉”式的通知。但是我没有预订模式,可能会有些混乱。