​只需1分钟,看完你就知道耦合什么意思 ?

2023-12-14 15:40 来源:秀流网 点击:

只需1分钟,看完你就知道耦合什么意思 ?

概述

今天跟领导交流时谈了一下业务解耦的一些内容,而其中就谈到了为什么需要解耦?回答这个问题,我们必须得知道什么是解耦。相信大多数朋友都在软件工程中听过这样一句话 —— “高内聚,低耦合”。那么什么是 “高内聚”,什么是 “低耦合”呢?下面区分介绍一下。


01

什么是内聚

内聚,从字面上来看有聚精会神、聚在一起的意思,那么 高内聚也就是尽可能的使一个模块或一个类再或者是一个方法只专注做好一件事。

在设计软件的时候一定要采取【多聚合、少继承】的基本原则,因为使用 “聚合” 的这种方式能够使业务逻辑更加清晰,更有利于我们后期的扩展和维护。

例如订单模块,一般情况下,下单模块都会有如下的信息,订单的信息,产品的信息及谁下的单(买家信息)。这是基本的,那么设计的时候就要把相关的功能内聚到一起。当然这是从大功能(下单管理)上来说,当然这些模块还可以再细化分成产品、订单、会员等子模块。


02

耦合

耦合,从字面上来看有藕断丝连的意思,“耦” 这个字在中国汉语里指的是两个人在一起耕地,他俩各干各的互不影响,这也是“耦合”的由来。

那么 低耦合也就是尽可能的使每个模块之间或者每个类之间再或者是每个方法之间的关联关系减少,这样可以使各自尽可能的独立,一个地方出错,不会影响全部,更能提高代码的重用性。

所以在设计软件的时候也一定要注意各模块之间一定尽可能的减少联系,防止一个模块出现的问题影响到其他模块。

03

使用高内聚,低耦合的好处

1、生活中的 “高内聚,低耦合”

军队的存在是为了保家卫国,我们国家的军队分为海军、陆军、空军等部队,他们各自的职责是不一样的。海军负责海上作战,陆军负责陆地作战,空军负责空中作战,他们之间的联系很少。

我们可以想想为什么要这样安排呢?如果我们国家的军队不分的那么细,每支部队都有在海上、陆地、空中作战的士兵,如果我们和日本在海上大战,我们还需要从各个部队中抽取能够在海上作战的士兵,再组成一支海上抗日军这样的部队,抽取出来的士兵的战斗力各有不一,还需要一个适应的过程,我们想想这支一盘散沙的部队能取得胜利嘛?

打仗在于兵贵神速,这样的一支部队还是一盘散沙呢,怎么能做到兵贵神速呢?那么我们可以早早的就把他们分为海军、陆军、空军,海军就负责在海上作战,陆军就负责在陆地作战,空军就负责在空中作战,我们如果和日本进行海上大战,我们直接派海军过去不就可以了嘛?

根据我们刚才的分析,证明了军队分为海军、陆军、空军的好处,那么我们再想想,他们之间的联系为什么会很少呢?咱们还是假设一下,如果每个部队总是依赖其他几个部队,不会独立战斗,那么如果某一天海军被派出去执行任务,美国这个时候空军来袭,我们的空军难道要等海军回来再战斗嘛?如果那样的话为时晚矣。所以他们之间应该独立作战,互相依赖的情况应该要减少。

这就是生活中的 “高内聚,低耦合” 的例子。类似这样的例子还有很多,只要我们留心观察就能发现。

2、Java中的 “高内聚,低耦合”

耦合放到Java里面就是两个类之间的联系的紧密程度,看下面这段代码:

public class A {
 public void say() {
 System.out.println("I am A");
 }
}
public class B {
 public void put(A a) {
 a.say();
 }
}

从上面这个例子中我们可以看出来,A类 和 B类 之间存在一种很强的一个联系,我们把这种联系称为强耦合关系,B类的 put方法 参数必须是 A类类型,不可以是 非A类类型。

当然了,既然有强耦合关系当然也存在所谓的弱耦合关系,弱耦合也就是我们俗说的低耦合。那么请看下面这段代码:

public interface IBase {
 void say();
}
public class A implements IBase {
 @Override
 public void say() {
 System.out.println("I am A");
 }
}
public class B implements IBase {
 @Override
 public void say() {
 System.out.println("I am B");
 }
}
public class C {
 public void put(IBase base) {
 base.say();
 }
}

上面这段代码中 C类 与 A类、B类之间就存在一种弱耦合关系,C类 的 put方法 的参数可以是 A类类型 也可以是 B类类型,不像强耦合关系中必须是 A类类型 其他类型皆不可的情形。

我们实现低耦合就是对两类之间进行解耦,解除类之间的直接关系,将直接关系转换成间接关系,和上面代码一样,这种思想利用了多态的思想,不过一般情况都是使用接口的方式来实现解耦的。通常情况下我们在系统分离时只是以接口的方式提供服务,供其他的模块进行使用。在模块内部有大量的信息是不要向外部暴露的,所以模块在设计时访问域的定义就要划分好,防止因为访问域的定义而对模块的信息造成破坏。


“高内聚,低耦合”,用一句话概括就是写的代码尽可能专一的完成一个任务,且各段代码尽量模块化互相独立。可能大家觉得这只是开发要懂的内容,但如果运维想深入的话这个也是绕不过去的,理解了才能更好的去设计一个系统,保证系统高效稳定

相关标签:

​男人有乳腺吗功效是什么(为什么男性在进化过程中,胸前仍然保留了乳头?这究竟
2023-12-14 03:34:39

​男人有乳腺吗功效是什么(为什么男性在进化过程中,胸前仍然保留了乳头?这究竟

男人有乳腺吗功效是什么(为什么男性在进化过程中,胸前仍然保留了乳头?这究竟 有什么用?) 有网友问了我这样一个问题,那就是为什么男性在进化过程中,胸前仍然保留了乳头?对...

​龙吸水自然现象原理(罕见的龙吸水奇观,近期在我国频繁上演!是什么把水吸上
2023-12-14 03:32:24

​龙吸水自然现象原理(罕见的龙吸水奇观,近期在我国频繁上演!是什么把水吸上

龙吸水自然现象原理(罕见的龙吸水奇观,近期在我国频繁上演!是什么把水吸上 天的?) 估计很多人在网上都看到过“龙吸水”的景象,在乌云密布的天空中,一条粗大的水柱从水...

​晚饭吃什么(晚饭吃这些家常菜,低脂少油,适合减肥的小伙伴)
2023-12-14 03:30:09

​晚饭吃什么(晚饭吃这些家常菜,低脂少油,适合减肥的小伙伴)

晚饭吃什么(晚饭吃这些家常菜,低脂少油,适合减肥的小伙伴) 鸡蛋炒双菇 食材: 鸡蛋 3个、真姬菇 1把、胡萝卜 半根、小葱 1棵、食盐 1小勺、胡椒粉 1小勺、植物油 适量 做法:...

​石家庄简称是什么?
2023-12-14 03:27:54

​石家庄简称是什么?

石家庄简称是什么? 石家庄,简称“石”,旧称 石门 , 河北省 辖地级市、 省会 ,是国务院批复确定的中国 京津冀地区 重要的中心城市之一,地处中国 华北地区 、河北省中南部、...

​如何和女生聊天?记住四句话,能让她对你好感倍增
2023-12-14 03:25:40

​如何和女生聊天?记住四句话,能让她对你好感倍增

如何和女生聊天?记住四句话,能让她对你好感倍增 会说话是一门学问,也是一种能力,最能体现情商的时候。 有个事实,希望你能意识到,男女在并不熟悉的情况下,是没有包容与...

​奶茶店品牌排行榜10强排名(全国著名奶茶品牌十大排行榜10强有哪些?茶颜悦色
2023-12-14 03:23:25

​奶茶店品牌排行榜10强排名(全国著名奶茶品牌十大排行榜10强有哪些?茶颜悦色

奶茶店品牌排行榜10强排名(全国著名奶茶品牌十大排行榜10强有哪些?茶颜悦色 排第几名?) 国内奶茶谁最受中国年轻人的喜爱? 在南京,排队需要5个小时,一杯奶茶要200的茶颜悦...

​磷肥有哪些作用(磷肥是什么?有什么功能?怎样用?半懂不懂,少不了吃亏上当
2023-12-14 03:21:10

​磷肥有哪些作用(磷肥是什么?有什么功能?怎样用?半懂不懂,少不了吃亏上当

磷肥有哪些作用(磷肥是什么?有什么功能?怎样用?半懂不懂,少不了吃亏上当 ) 2017年,我国磷肥(折P2O5)产量1627万吨,同比下降1.3%,占世界磷肥产量的36.3%,同比下降1.1%,继续保...

​宫颈癌疫苗最佳年龄 所有女性都要打HPV疫苗吗?提醒:尽早尽小,不要错过最佳
2023-12-14 03:18:55

​宫颈癌疫苗最佳年龄 所有女性都要打HPV疫苗吗?提醒:尽早尽小,不要错过最佳

宫颈癌疫苗最佳年龄 所有女性都要打HPV疫苗吗?提醒:尽早尽小,不要错过最佳 年龄 小方年年都有做体检,今年由于结婚与丈夫有了性生活,于是增加了一项妇科检查,没想到检查结...

​成人能喝婴儿奶粉吗  对身体有什么好处或坏处
2023-12-14 03:16:40

​成人能喝婴儿奶粉吗 对身体有什么好处或坏处

成人能喝婴儿奶粉吗 对身体有什么好处或坏处 调好的婴儿配方奶粉宝宝没喝完,担心浪费,很多大人都会选择喝掉,那么婴儿配方奶粉成人能喝吗?喝婴儿奶粉对成人身体健康有什么...

​双氯芬酸钠缓释胶囊 偏头痛只能吃止痛药?除了吃药还有这5个办法!头痛的人可
2023-12-14 03:14:26

​双氯芬酸钠缓释胶囊 偏头痛只能吃止痛药?除了吃药还有这5个办法!头痛的人可

双氯芬酸钠缓释胶囊 偏头痛只能吃止痛药?除了吃药还有这5个办法!头痛的人可 以看看 偏头痛发作的痛苦,经历过的小伙伴就一定不会忘记,其实,偏头痛有一个立竿见影的止疼方法...

​「名家风采」实力画家黄建南艺术作品欣赏
2023-12-13 16:46:22

​「名家风采」实力画家黄建南艺术作品欣赏

「名家风采」实力画家黄建南艺术作品欣赏 黄建南 号妙建,祖籍广东河源,著名书画家、收藏家、鉴定家,国家一级美术师,擅长油画、国画。全球公益联盟金质勋章的获得者,是英...

2023-12-13 16:44:07

​适合男生染的5款发色,超级帅气

适合男生染的5款发色,超级帅气 距离学生党们开学也有一段时间了,不知道大家时隔半年的校园生活过的如何呢? 其实有对象的还好,没有对象的单身狗们不但要过着无法外出的“监...

​CK强势回应林允解约 网友:看看人家施华洛世奇
2023-12-13 16:41:52

​CK强势回应林允解约 网友:看看人家施华洛世奇

CK强势回应林允解约 网友:看看人家施华洛世奇 来源:上海热线 序言:最近几天,越来越多的国际大牌因为模糊中国领土,而饱受中国网友非议。中国明星代言人纷纷提出终止合同,...

​假面骑士Grease大百科
2023-12-13 16:39:37

​假面骑士Grease大百科

假面骑士Grease大百科 ---人间体状态,装备,以及其他--- 武器:双子破坏者 坐骑:无 相关道具:直升机能量满瓶,橡皮擦能量满瓶,加特林能量满瓶,熊能量满瓶,智能手机能量满瓶,...

​被误解、冤枉?壁虎的身上并无毒素,为何被称为“五毒”之一?
2023-12-13 16:37:22

​被误解、冤枉?壁虎的身上并无毒素,为何被称为“五毒”之一?

被误解、冤枉?壁虎的身上并无毒素,为何被称为“五毒”之一? 在我国的民间古老传说当中,存在着5种极具毒性的生物,被人们称为“五毒”。如果让你说出五毒是什么,估计很多...

2023-12-13 16:35:07

​王国胜的成功给我们的启示,只要路子对了,普通人一样能够成功

王国胜的成功给我们的启示,只要路子对了,普通人一样能够成功 1.5米的身高,37公斤的体重,胸前不自然的撅起了很大一个空缺,背后则是高高的隆起了一个“驼峰”。 第一次见到王...

2023-12-13 04:31:35

​单田芳评书隋唐演义

单田芳评书隋唐演义 单田芳评书隋唐演义(216回版)简介: 《隋唐演义》是清代长篇历史演义小说,全书共一百回,七十余万字。是一部具有英雄传奇和历史演义双重性质的小说。以隋朝...

​“布衣院士”卢永根病逝,生前曾捐出880万积蓄
2023-12-13 04:29:20

​“布衣院士”卢永根病逝,生前曾捐出880万积蓄

“布衣院士”卢永根病逝,生前曾捐出880万积蓄 中国共产党党员、中国科学院院士、华南农业大学老校长卢永根因病医治无效,于2019年8月12日早晨4:41逝世,享年88岁。 卢永根院士是我...

​《切尔诺贝利》:豆瓣评分9.6,这场35年前的悲剧值得永远铭记
2023-12-13 04:27:06

​《切尔诺贝利》:豆瓣评分9.6,这场35年前的悲剧值得永远铭记

《切尔诺贝利》:豆瓣评分9.6,这场35年前的悲剧值得永远铭记 1986年4月26日可以说是人类历史上最为黑暗也是最为沉重的一天,虽然这一天的乌克兰并没有战争爆发,但是发生在这一天...

2023-12-13 04:24:51

​郑州京广实验(原四中分校)小升初攻略!

郑州京广实验(原四中分校)小升初攻略! 二七区京广实验学校一直以来备受小升初家长关注,特别是近几年报名人数持续居高,京广实验究为何有这么高人气?接下来我们一起来揭秘...