什么叫耦合
耦合
- 一、什么是耦合
- 二、耦合的例子
- 三、耦合强的坏处
- 四、代码例子
耦合表示模块之间的关联程度,分为强耦合和弱耦合。
二、耦合的例子 例子1设想一下有十几个灯泡一同插在灯座上,假如其中有一个灯泡坏掉了,那么需要更换整个灯座设备的话,也就是说十几个灯泡全都要换掉,那么我们称这种情况为强耦合。若其中的一个灯泡坏掉了只需将这个坏掉的灯泡更换掉,那么称这种情况为弱耦合。
例子2设想有一个机器人,机器人的眼睛坏掉了,假如需要将整个机器人头部给换掉,那么这种情况称为强耦合。若眼睛坏掉了只需更换眼睛,那么则为弱耦合。
从上面的例子我们可以看出,强耦合的系统或者设备,一旦其中的某个零件或者元件坏掉了,我们就要整个设备一齐更换。如此一来,耗时耗力。
四、代码例子假设有A1类、A2类、B类,A1、A2继承于B
class B {
public void method() { ... }
}
class A1 extends B {
...
}
class A2 extends B {
...
}
原问题直接调用
现在写一个强耦合的情况下的代码。这种直接调用是强耦合的。
存在问题如果你的项目中到处都是ne A1(),那么当你想要将A1改为A2的时候,你就需要在项目各个角落找到这个语句并作修改,如果你的项目有上百层结构,那么工作量是巨大的。
B b = ne A1(); //若将A1() 改为A2(),在上百层级结构的项目中将会很繁琐。 b.mehtod();
改动一辅助类
可以改进为松耦合结构,用一个辅助类,通过辅助类调用。
存在问题辅助类仍然紧耦合A1类,若要改成A2类还是需要在辅助类里进行小范围更改(假如辅助类很庞大,改动的地方还是有点多了)。
class B_Helper {
B b = ne A1();
public void useMethod() {
b.method();
}
}
B_Helper bHelper = ne B_Helper(); //如此一来,若要改动A1(),只需在辅助类这一处改动即可。
bHelper.useMethod();
通过辅助类我们降低了耦合,我们只需要管理辅助类。在上百层结构的项目中,我们看不到ne A1()的语句了,映入眼帘的都是ne B_Helper()。如此一来,我们只要改动B_Helper类中的A1类,就可以实现全部的改动。再也不用到处找ne A1()啦~
改动二spring框架
转自,这里还不怎么熟悉,先挖个坑,待功力上升后再来填满。
https://.yiibai./spring/spring-loosely-coupled-example.html
可以将辅助类和spring bean配置文件结合,并在spring bean配置文件中声明所有的Java对象的依赖,然后通过Spring来调用它来实现松耦合。只需要改变 Spring xml 文件使用不同的输出生成器。只修改 Spring xml文件而不需要无码修改,这意味着更少的错误。
空调维修
- 我的世界电脑版运行身份怎么弄出来(我的世界
- 空调抽湿是什么意思,设置抽湿的温度有什么意
- 方太燃气灶有一个打不着火 怎么修复与排查方法
- 夏季免费清洗汽车空调的宣传口号
- 清洗完空调后出现漏水现象
- iphone6能玩什么游戏(iphone6游戏)
- 如何设置电脑密码锁屏(如何设置电脑密码锁屏
- win10删除开机密码提示不符合密码策略要求
- 电脑w7显示不是正版(w7不是正版怎么解决)
- 万家乐z8热水器显示e7解决 怎么修复与排查方法
- 1匹空调多少瓦数(1匹空调多少瓦)
- 安卓手机连接电脑用什么软件好(关于安卓手机
- 电脑网页看视频卡是什么原因(爱拍看视频卡)
- 华帝燃气灶点火器一直响然后熄火怎么办:问题
- 电脑壁纸怎么换(关于电脑壁纸怎么换的介绍)
- 冬天空调的出风口应该朝什么方向(冬天空调风