松散和紧密耦合将用作真实场景?

Ach*_*ver 6 java

我已经提到过这个链接, Java中松散和紧耦合的区别?

在我提到这一点后,我仍然感到困惑,根本不明白.

作为Java初学者,我无法轻易理解它.请有人能提出更好的例子吗?

任何人都可以说我,在java中耦合的重要性以及设计代码时需要的原因,地点,方式和时间是什么?

ben*_*nka 27

紧耦合

  • 在复杂的情况下,一个类的逻辑将调用另一个类的逻辑只是为了提供相同的服务

  • 如果发生这种情况,那么两个类之间就会出现所谓的紧耦合.

  • 在这种情况下,想要从第二个类调用逻辑的第一个类必须从第二个类创建一个对象

示例:我们先有两个类traveller,第二个是a car.Travellerclass正在调用类的逻辑car; 在这种情况下,旅行者类创建汽车类的对象.

这意味着car课程将取决于traveller对象.

Public class Traveller {
    Car c = new Car();
    Public void startJourney() {
        c.move();
    }
}

Public class Car {
    Public void move(){
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的traveller对象与对象紧密耦合car.
如果traveller想要改变car,plane那么整个traveller类必须改变如下:

Public class Traveller {
    Plane p = new Plane();
    Public void startJourney() {
        p.move();
    }
}

Public class Plane {
    Public void move(){
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

松耦合

  • 我们的主要对象,traveller在这种情况下将允许一个外部实体,一个所谓container的提供object.因此,traveller不必从它carplane它将从中获取它的对象创建自己的类container

  • 当一个对象允许依赖注入机制时.

  • 外部实体,container可以根据一定的逻辑注入carplane反对,一个要求traveller.

例:

Public class Traveller {
    Vehicle v;

    Public void setV(Vehicle v) {
        this.V = V;
    }
    Public void startJourney() {
        V.move();
    }
}
Run Code Online (Sandbox Code Playgroud)

这里的traveller类注入一个car或一个plane对象.traveller如果我们想要将依赖项从汽车更改为飞机,则无需在课程中进行任何更改.

Travellerclass采用了车辆参考,因此外部对象(Container)可以注入car对象或plane对象,具体取决于要求traveller.


Yub*_*raj 6

紧耦合:-

  1. 在java中创建复杂的应用程序时,一个类的逻辑将调用另一个类的逻辑来为客户端提供相同的服务.

  2. 如果一个类调用另一个类逻辑,那么它被称为协作.

  3. 当一个类与另一个类合作时,两个类之间存在紧密耦合.

  4. 如果一个类想要调用第二个类的逻辑,那么它们的第一个类需要第二个类的对象,这意味着第一个类创建第二个类的对象.

  5. 例如,如果我们有两个叫做旅行者和汽车的类,旅行者类就是调用汽车类的逻辑; 在这种情况下,旅行者类创建汽车类的对象.

  6. 在上述旅行者类和汽车类中,旅行者对象依赖的汽车类对象.

例:-

旅客 在此输入图像描述

  • 在上面的示例中,旅行者对象与汽车对象紧密耦合,因为如果您想使用自行车对象,那么我们需要在T​​raveler类中进行更改

示例: -

travellor 1 CAR1

松耦合: -

  1. 在Loose-Coupling中,当一个对象依赖于另一个类对象时,一些外部实体会将该依赖对象提供给我们称为Container的外部对象的主对象.

  2. 为了在对象之间获得松散耦合,需要以下两个规则

  3. 这些课程应遵循POJI/POJO模型.

  4. 应用依赖注入机制.

例如:-

接口

travellor 2

  • 在上面的旅行者类中,外部实体注入汽车(或)Bike对象.

  • 在旅行者中,这些都没有变化,我们正在将依赖性从汽车转移到自行车.

  • 在上面的旅行者类中,我们是令牌车辆参考,因此外部对象(Container)可以注入汽车对象(或)Bike对象,取决于旅行者的要求.

  • 在spring框架工作中,spring容器遵循依赖注入机制并注入主对象所需的依赖对象.

  • Spring框架工作取得了很大成功,因为其中一个主要原因是它促进了对象之间的松散耦合.

来源: - 物体之间的紧耦合和松耦合