gpt4 book ai didi

java - 设计模式-多观察者

转载 作者:行者123 更新时间:2023-12-01 17:14:53 25 4
gpt4 key购买 nike

我是设计模式新手。我正在编写一段代码,其中有一个主题和多个观察者。主体和观察者都有接口(interface)。那么如果我有 5 个观察者,我是否需要创建 5 个不同的接口(interface)及其单独的更新方法?或者我应该只创建一个接口(interface)并为所有观察者编写五个更新方法?

最佳答案

通常,您只需要一个所有 5 个观察者类都可以实现的观察者接口(interface)。不同的是观察者对变化通知的 react 。这是否适用于您将完全取决于您的计划结构和需求。

请注意,共享单个接口(interface)的观察者也可以监听被观察者的不同变化,但仍然使用相同的接口(interface)。例如,如果您使用 PropertyChangeListener 作为观察者接口(interface),则可以通过检查传递给观察者的 PropertyChangeEvent 中返回的 propertyName 来确定您监听的内容。

但请注意,如果观察者正在收听的内容非常不同,那么是的,他们可能需要一个独特的界面。使用 Swing 示例,因为这是我最了解的内容,所以有许多不同的监听器类和接口(interface)可用,包括 ActionListener、MouseListener、MouseMotionListener...尽管都派生自通用 super 接口(interface) EventListener。请注意,所有这些都将参数传递给基于公共(public)父类(super class)(AWTEvent 类)的监听器。

为了获得更好、更具体的帮助,请考虑向我们提供有关您问题的更多具体信息。

关于java - 设计模式-多观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22673320/

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