耦合是什么意思(深度耦合是什么意思)
class B {
我们来举一个例子,比如 A 对象中需要使用 B 对象的某个方法,那么我们通常的实现方法是这样的:
B b = new B();
class A {
public void init() {
private B b;
System.out.println(&34;你好,世界。&34;);
}此时构造方法已经从原本无参构造方法变成了有参的构造方法,这里不考虑构造方法重载的情况,因为实际业务中,很可能是 B 类的构造方法写错了,忘记加参数了,于是后面又补充了一个参数,此时是不需要对构造方法进行重载的,那么此时,之前对象 A 里面的调用就会报错,如下图所示:
}
public A(B b) {
}
class B {
public B(String name) {
// 调用 B 类中的 init 方法
class B {
}
public B() {
public void init() {
IoC 实现的思路和上述示例一样,就是通过将对象交给 Spring 中 IoC 容器管理,在其他类中不直接 new 对象,而是通过将对象传递到当前类的方式来实现解耦的。
我们可以通过将对象传递而并 new 对象的方式来解决,如下代码所示:
// 先定义一个需要依赖的 B 对象
System.out.println(&34;你好,世界。&34;);
IoC 和 DI 都是 Spring 框架中的重要概念,就像玫瑰花与爱情一样,IoC 和 DI 通常情况下也是成对出现的。那 IoC 和 DI 什么关系和区别呢?接下来,我们一起来看。
System.out.println(&34;姓名:&34; + name);
this.b = b;
}
public void init() {
这就是开发中经常遇到的一个问题,那怎么解决呢?
}这样改造之后,无论构造方法怎么修改,即使需要加更多的参数,而调用它的 A 类都无需做任何修改,这样就实现了对象的解耦。
在 new 对象的时代,对象的管理权是由当前类控制的,而有了 IoC 之后,对象的管理权就交给非当前类的 IoC 容器管理了,此时对象的管理权就发生了反转和改变,这就是 IoC,这就是控制(权)反转。
public A(B b) {
class A {
要解释什么是解耦?就要了解什么是耦合,所谓的耦合是指:两个或两个以上对象存在依赖,当一方修改之后会影响另一方,那么就说这些对象间存在耦合。而解耦就是解除两个或两个以上对象,修改之后影响另一方的问题。
b.init();
}
}
private B b;
}
比如,磊哥今天心情比较好,想出去吃顿好的,那么“想吃顿好的”就是一种思想、就是 IoC。
// 通过构造方法实现赋值(初始化)
在上述示例中,A 类在使用 B 类时,就是通过构造方法将依赖对象 B 引入的,这种实现方法就可以看作是通过构造方法实现依赖注入的手段,具体代码如下:
因此“磊哥今天心情比较好,想出去吃顿好的”是一种思想、是 IoC,而吃一顿海底捞而非韩式料理就是具体的实现、是 DI。
}
}从上面的内容中我们可以看出,IoC 和 DI 虽然定义不同,但它们所做的事情都是一样的,都是用来实现对象解耦的,而二者又有所不同:IoC 是一种设计思想,而 DI 是一种具体的实现技术。
public B(String name) {
}
// 通过构造方法实现赋值
IoC 和 DI 都是 Spring 框架中的重要概念,它们都是用来实现对象解耦的,其中 IoC(控制反转)是一种设计思想,而 DI(依赖注入)是一种具体的实现手段。
DI 是 Dependency Injection 的缩写,翻译成中文是“依赖注入”的意思。依赖注入不是一种设计实现,而是一种具体的技术,它是在 IoC 容器运行期间,动态地将某个依赖对象注入到当前对象的技术就叫做 DI(依赖注入)。
// 调用 B 类中的 init 方法
}
System.out.println(&34;你好,世界。&34;);
public void init() {
但什么才是“好的(饭)”呢?海底捞还是韩式料理?具体吃什么是 DI。
// 调用 B 类中的 init 方法
}然而此时对象 A 和对象 B 是存在耦合的,因为一旦修改了 B 对象构造方法的参数之后,那么 A 对象里面的写法也要跟着改变,比如当我们将构造方法改为以下代码时:
b.init();
b.init();
那这个解耦的示例和 IoC 有什么关系呢?
public void init() {
public void init() {
IoC 是 Inversion of Control 的缩写,翻译成中文是“控制反转”的意思,它不是一个具体的技术,而是一个实现对象解耦的思想。
}
那 IoC(控制反转)是如何实现解耦的呢?
System.out.println(&34;姓名:&34; + name);
this.b = b;
// 先定义一个需要依赖的 B 对象
class A {
}
}
truck是什么意思 togtruck英语什么意思
【卡车之家原创】如果我告诉你,一家车企因为外观设计原因导致公司破产,你敢信吗?虽然卡车作为生产工具,自诞生之初起就和乘用车有着本质的区别,但不可否认的是,很多卡友在购买卡车的时候,第一眼相中的,依旧是车辆的外观表现,毕竟内在再美好,外在不行自然会提前在卡友心中扣掉几分。大财经2023-03-23 11:56:140001高牌木业董事长肖方军带着儿子肖健申请了不少专利 到底谁研发的?
运营商财经杨杨/文高牌木业是CCTV央视品牌战略合作伙伴,虽然低调,但还是引发了很多消费者的关注与信赖。此次运营商财经试图梳理的就是高牌木业董事长肖方军的履历。肖方军是高牌木业的创始人,曾经在汉西市场摆摊卖地板,也曾做过地板品牌的经销商,记录了比较丰富的经验,肖方军开始了创业之路。从他偶尔出席活动的照片来看,肖方军还是挺帅气的。大财经2023-04-29 22:48:120000莎莎国际开盘涨近8% 预期整个财年归母净利同比扭亏为盈
5月9日消息,截至发稿,莎莎国际(00178.HK)涨7.74%。根据昨日公告,该公司预计截至3月31日止年度归属于公司拥有人的溢利约5000万至7000万港元,去年同期亏损3.44亿港元,同比扭亏为盈。本文源自金融界0001牛郎星和织女星 牛郎星织女星多久见一次
迢迢牵牛星,皎皎河汉女。纤纤擢素手,札札弄机杼。终日不成章,泣涕零如雨。河汉清且浅,相去复几许?盈盈一水间,脉脉不得语。——《古诗十九首》牛郎和织女之间的爱情故事英爱是大家所熟知的,作为我国民间四大传说之一,牛郎织女的故事牵动了多少人的心?大财经2023-03-25 05:23:360000深圳海洋发展规划出炉 将打造全球海洋中心城市
观点网讯:5月19日消息,深圳市规划和自然资源局近日发布了关于印发《深圳市海洋发展规划(2023-2035年)》的通知,其中指出《深圳市海洋发展规划(2023-2035年)》已经取得市政府同意,予以印发。0000