加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 19:23:13 所属栏目:Java 来源:网络整理
导读:我是Java新手,到目前为止阅读文档时,我找不到任何好的方法来编写对象之间的松散耦合.对于我所知道的大多数语言(C,C#,python,JavaScript),我可以将对象管理为具有“信号”(关于某些事情发生/需要的事情的通知)和“插槽”(可以连接到信号和处理通知/做的方法)

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

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

现在,如果object1调用/发出ItemAdded,将调用Object2的OnItemAdded方法.这种松耦合技术通常被称为“代表”,“信号槽”或“控制反转”.

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

我在Java中看不到这样的东西:(.也许我看错了方法?

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

接口是java.util.Observer,您的观察者类应该实现它以对信号起作用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读