耦合是什么意思(深度耦合是什么意思)
private B b;
public B(String name) {
}
IoC 是 Inversion of Control 的缩写,翻译成中文是“控制反转”的意思,它不是一个具体的技术,而是一个实现对象解耦的思想。
}
this.b = b;
public void init() {
// 通过构造方法实现赋值
public A(B b) {
}
b.init();
System.out.println(&34;你好,世界。&34;);
那这个解耦的示例和 IoC 有什么关系呢?
}
B b = new B();
public B() {
// 调用 B 类中的 init 方法
我们可以通过将对象传递而并 new 对象的方式来解决,如下代码所示:
System.out.println(&34;你好,世界。&34;);
}这样改造之后,无论构造方法怎么修改,即使需要加更多的参数,而调用它的 A 类都无需做任何修改,这样就实现了对象的解耦。
}
IoC 和 DI 都是 Spring 框架中的重要概念,它们都是用来实现对象解耦的,其中 IoC(控制反转)是一种设计思想,而 DI(依赖注入)是一种具体的实现手段。
public void init() {
那 IoC(控制反转)是如何实现解耦的呢?
}
}
}
但什么才是“好的(饭)”呢?海底捞还是韩式料理?具体吃什么是 DI。
public B(String name) {
因此“磊哥今天心情比较好,想出去吃顿好的”是一种思想、是 IoC,而吃一顿海底捞而非韩式料理就是具体的实现、是 DI。
// 先定义一个需要依赖的 B 对象
class A {
这就是开发中经常遇到的一个问题,那怎么解决呢?
public void init() {
要解释什么是解耦?就要了解什么是耦合,所谓的耦合是指:两个或两个以上对象存在依赖,当一方修改之后会影响另一方,那么就说这些对象间存在耦合。而解耦就是解除两个或两个以上对象,修改之后影响另一方的问题。
class B {
IoC 和 DI 都是 Spring 框架中的重要概念,就像玫瑰花与爱情一样,IoC 和 DI 通常情况下也是成对出现的。那 IoC 和 DI 什么关系和区别呢?接下来,我们一起来看。
}
IoC 实现的思路和上述示例一样,就是通过将对象交给 Spring 中 IoC 容器管理,在其他类中不直接 new 对象,而是通过将对象传递到当前类的方式来实现解耦的。
DI 是 Dependency Injection 的缩写,翻译成中文是“依赖注入”的意思。依赖注入不是一种设计实现,而是一种具体的技术,它是在 IoC 容器运行期间,动态地将某个依赖对象注入到当前对象的技术就叫做 DI(依赖注入)。
public void init() {
}
}
public void init() {
class B {
}从上面的内容中我们可以看出,IoC 和 DI 虽然定义不同,但它们所做的事情都是一样的,都是用来实现对象解耦的,而二者又有所不同:IoC 是一种设计思想,而 DI 是一种具体的实现技术。
}然而此时对象 A 和对象 B 是存在耦合的,因为一旦修改了 B 对象构造方法的参数之后,那么 A 对象里面的写法也要跟着改变,比如当我们将构造方法改为以下代码时:
class B {
// 调用 B 类中的 init 方法
// 先定义一个需要依赖的 B 对象
System.out.println(&34;姓名:&34; + name);
b.init();
System.out.println(&34;姓名:&34; + name);
}此时构造方法已经从原本无参构造方法变成了有参的构造方法,这里不考虑构造方法重载的情况,因为实际业务中,很可能是 B 类的构造方法写错了,忘记加参数了,于是后面又补充了一个参数,此时是不需要对构造方法进行重载的,那么此时,之前对象 A 里面的调用就会报错,如下图所示:
// 通过构造方法实现赋值(初始化)
private B b;
我们来举一个例子,比如 A 对象中需要使用 B 对象的某个方法,那么我们通常的实现方法是这样的:
}
this.b = b;
public void init() {
public A(B b) {
class A {
b.init();
class A {
System.out.println(&34;你好,世界。&34;);
在 new 对象的时代,对象的管理权是由当前类控制的,而有了 IoC 之后,对象的管理权就交给非当前类的 IoC 容器管理了,此时对象的管理权就发生了反转和改变,这就是 IoC,这就是控制(权)反转。
比如,磊哥今天心情比较好,想出去吃顿好的,那么“想吃顿好的”就是一种思想、就是 IoC。
在上述示例中,A 类在使用 B 类时,就是通过构造方法将依赖对象 B 引入的,这种实现方法就可以看作是通过构造方法实现依赖注入的手段,具体代码如下:
// 调用 B 类中的 init 方法
}
三条有趣的概率问题,每一条都值得投资者反思
概率现象与投资之一1/3、生男政策与新股民幻觉先来一道开胃前菜:某个国家有一个奇怪的政策:每对夫妇如果生出的是男孩就要被绝育,如果生出的是女孩就必须继续生下去,直到生出第一个男孩儿为止。这个政策执行很多年后,该国的男女比例会发生怎样的变化?我猜类似的问题,很多人都思考过,这个问题有两种相反的直觉判断:大财经2023-12-12 13:01:220000形容女人漂亮的词语 赞女人漂亮唯美句子
古人是怎么描述美丽女子的,那就让我们看看古人笔下美女。芙蓉不及美人妆,水殿风来珠翠香。-【唐】王昌龄《西宫秋怨》【译文】笑蓉花都不及你的妆容好看,水殿吹来轻风,珠翠的香味都飘散开来。羽衣常带烟霞色,不染人间桃李花。--【宋]白玉蟾《卧云》【译文】你一身仙气,羽衣总是飘着天上的烟霞之气,从来不需要人间的桃李花来妆饰。回眸一笑百媚生,六宫粉黛无颜色。--白居易《长恨歌》大财经2023-03-22 02:02:570000儿童节是多少岁到多少岁? 6.1儿童节年龄范围
今天是“六一”国际儿童节,首先祝各位家长和小朋友节日快乐!儿童是国家的未来、民族的希望,给儿童创造良好的家庭、社会和学习环境,让他们健康、快乐、幸福地成长,一直是世界各国努力的目标,各国都专门为儿童们设立的节日。那关于儿童节你知道多少?一、国际儿童节大财经2023-03-22 13:17:580000健润科技2022年亏损1100.49万同比亏损增加 毛利率下降
挖贝网5月5日,健润科技(871618)近日发布2022年年度报告,报告期内公司实现营业收入46,641,008.17元,同比增长33.16%;归属于挂牌公司股东的净利润-11,004,908.38元,较上年同期亏损增加。报告期内经营活动产生的现金流量净额为-577,956.76元,归属于挂牌公司股东的净资产2,214,466.88元。0001电磁炉有辐射吗 经常用电磁炉的危害
在中国家用电器研究院的专业实验室里,检测人员首先对一款售价在600元左右的电磁炉进行检测,当电磁炉开至最高档,在距离电磁炉30厘米的地方进行测试。目前,针对电磁炉低频电磁辐射相关的行业推荐标准中规定,低频电磁辐射的加权测量值不得超过30%。测试结果显示,电磁炉正面的辐射值为9.53%,后面的辐射值为14.15%,左侧为15.24%,右侧为15.25%,低于行业推荐标准。大财经2023-03-23 17:06:340000