gpt4 book ai didi

java - Java 中松散耦合的良好模式?

转载 作者:搜寻专家 更新时间:2023-10-31 08:21:34 24 4
gpt4 key购买 nike

我是 Java 的新手,到目前为止,在阅读文档时,我找不到任何在对象之间松散耦合的情况下进行编程的好方法。对于我知道的大多数语言(C++、C#、python、JavaScript),我可以将对象管理为具有“信号”(关于发生某事/需要某事的通知)和“插槽”(可以连接到信号和进程通知/执行的方法)一些工作)。在所有提到的语言中,我可以写这样的东西:

Object1 = new Object1Class();
Object2 = new Object2Class();
Connect( Object1.ItemAdded, Object2.OnItemAdded );

现在,如果 object1 调用/发出 ItemAdded,将调用 Object2OnItemAdded 方法。这种松耦合技术通常被称为“委托(delegate)”、“信号槽”或“控制反转”。

与接口(interface)模式相比,提到的技术不需要将信号分组到某些接口(interface)中。只要签名匹配,任何对象的方法都可以连接到任何委托(delegate)(C++Qt 甚至通过只允许部分签名匹配来扩展这一点)。所以我不需要为每个方法/方法组编写额外的接口(interface)代码,为未使用的接口(interface)方法提供默认实现等。

而且我在 Java 中看不到这样的东西:(。也许我看错了方向?

最佳答案

您应该查看 java 中的 Observable 和 Observer 类来实现信号类行为。主要思想是让观察者在可观察对象发生变化时做一些 Action 类是 java.util.Observable,你反对它必须发送信号需要扩展。

接口(interface)是 java.util.Observer,您的观察者类应该实现它以对信号采取行动

关于java - Java 中松散耦合的良好模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492991/

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