gpt4 book ai didi

java - OOP 类是一个 Observable 和 Observer

转载 作者:搜寻专家 更新时间:2023-10-31 20:20:27 25 4
gpt4 key购买 nike

我有一个问题,我有一个 Item 类,它有一个 Subitem 列表。当一个子项被更改或删除时,我需要父项知道它。

我在想观察者模式在这里会派上用场。但是对于 Item 类来说,既扩展 Observerable 又实现 Observer 有意义吗?

干杯。

最佳答案

是的,有时让观察者也被观察是有意义的。

但是,请问问自己为什么要应用该模式。与直接更新相比,仅观察以提供更新可能更难调试,例如, child 在更新时调用他的 parent 。

通常,Observable 不想知道关于它们的 Observer 的详细信息(解耦、信息隐藏),因此您几乎可以使任何类成为 观察者。如果那是您所需要的,那么该模式对您有好处。如果不是,那么添加它可能会导致不必要的复杂性(更难理解和调试代码)。

编辑(我倒过来了):您的 child (可观察)项目是否已经知道有关其 parent (观察者)的所有详细信息?如果他们这样做,那么使用 Observer 可能是过度设计的。如果 child 不想知道他们 parent 的详细信息,那么 Observer 可能会有用。

当让观察者可观察时,注意周期 https://stackoverflow.com/a/964820/1168342

关于java - OOP 类是一个 Observable 和 Observer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22171505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com