图解模块间7种耦合关系,系统学Java从零开始

图解模块间7种耦合关系,系统学Java从零开始案例 m1 和 m2 是两个独立的模块 其中 m2 会显示 m1 的输入 m1 会显示 m2 的输入 很显然 m1 和 m2 两个模块之间会有一些联系 耦合 下面用 7 种不同的方式来实现这个功能 1 内容耦合 内容耦合是最紧的耦合程度

大家好,我是讯享网,很高兴认识大家。

案例:

m1和m2是两个独立的模块,其中m2会显示m1的输入,m1会显示m2的输入。

在这里插入图片描述
讯享网

很显然,m1和m2两个模块之间会有一些联系(耦合),下面用7种不同的方式来实现这个功能。

1、内容耦合


内容耦合是最紧的耦合程度,一个模块直接访问另一模块的内容,则称这两个模块为内容耦合

在这里插入图片描述

在这个case中,将m1的输入放到m2.m1input上,将m2的输入放到m1.m2input上

2、公共耦合


一组模块都访问同一个全局数据结构,则称之为公共耦合。

在这里插入图片描述

在这个case中,m1和m2将自己的输入放到全局的data上

3、外部耦合


一组模块都访问同一全局简单变量,而且不通过参数表传递该全局变量的信息,则称之为外部耦合。外部耦合和公共耦合很像,区别就是一个是简单变量,一个是复杂数据结构。

在这里插入图片描述

在这个case中,m1和m2都将自己的输入放到全局上

4、控制耦合


模块之间传递的不是数据信息,而是控制信息例如标志、开关量等,一个模块控制了另一个模块的功能。

从控制耦合开始,模块的数据就放在自己内部了,不同模块之间通过接口互相调用。

在这里插入图片描述

在这个case中,得增加一个需求,就是当m1的输入为空时,隐藏m2的显示信息。

5、标记耦合


调用模块和被调用模块之间传递数据结构而不是简单数据,同时也称作特征耦合。

在这里插入图片描述

在这个case中,m1传给m2的是一个对象

6、数据耦合

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
img

最后

Java架构进阶面试及知识点文档笔记

这份文档共498页,其中包括Java集合,并发编程,JVM,Dubbo,Redis,Spring全家桶,MySQL,Kafka等面试解析及知识点整理

image

Java分布式高级面试问题解析文档

其中都是包括分布式的面试问题解析,内容有分布式消息队列,Redis缓存,分库分表,微服务架构,分布式高可用,读写分离等等!

image

互联网Java程序员面试必备问题解析及文档学习笔记

image

Java架构进阶视频解析合集

分离等等!

[外链图片转存中…(img-1b1OZzHV-88)]

互联网Java程序员面试必备问题解析及文档学习笔记

[外链图片转存中…(img-8GwWxjWF-88)]

Java架构进阶视频解析合集

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

小讯
上一篇 2025-02-24 09:35
下一篇 2025-01-13 16:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/38602.html