gpt4 book ai didi

java - Java 中的观察者模式 - 观察者观察不同的、不相关的类型或类?

转载 作者:搜寻专家 更新时间:2023-11-01 02:28:24 26 4
gpt4 key购买 nike

<分区>

观察者模式中的观察者是否总是必须观察相同类型的对象?如果 ONE Observer 观察完全不相关的不同类型的不同对象可以吗?

例子 -Observer是CarDashBoard,Observable(s)是FuelTank、Speedometer、EngineThermometer、CarBattery等。观察到的参数分别是fuelLevel、speed、temperatureOfEngine、powerLevel。


如果我观察到多个不相关的类型,那么我将不得不使用 instanceof() 方法来检查通知观察者的 Observable 的类。但是,根据此链接 - http://www.javapractices.com/topic/TopicAction.do?Id=31,这似乎是一种糟糕的方法。

另一个与 instanceof 相关的链接 - http://blog.joda.org/2007/01/java-language-dynamic-instanceof_7967.html

所以,我想我会改用 getClass() 方法,然后根据传递的 Observable 来决定要执行的操作是什么。为此目的使用 getClass() 是否安全?

还有其他选择吗?

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