我一直在阅读这篇文章:
Difference between loose and tight coupling in Java?

阅读完这篇文章后,我仍然感到困惑,根本不理解。我是Java初学者。

在Java中耦合的重要性是什么?为什么?设计代码时需要在哪里,何时何地?

最佳答案

紧耦合

  • 在复杂的情况下,一个类的逻辑将调用另一类的逻辑只是为了提供相同的服务
  • 如果发生这种情况,则这两个类之间存在所谓的紧密耦合。
  • 在这种情况下,要从第二个类调用逻辑的第一个类将不得不从第二个类
  • 创建一个对象

    示例:我们有两个类,第一个是traveller,第二个是carTraveller类是car类的调用逻辑;在这种情况下,旅客类别创建了汽车类别的对象。

    这将意味着car类将取决于traveller对象。
    Public class Traveller {
        Car c = new Car();
        Public void startJourney() {
            c.move();
        }
    }
    
    Public class Car {
        Public void move(){
            ...
        }
    }
    

    在这里,traveller对象与car对象紧密耦合。
    如果traveller想要从car更改为plane,那么整个traveller类都必须进行如下更改:
    Public class Traveller {
        Plane p = new Plane();
        Public void startJourney() {
            p.move();
        }
    }
    
    Public class Plane {
        Public void move(){
            ...
        }
    }
    

    松耦合
  • 在这种情况下,我们的主要对象traveller将允许一个外部实体,即所谓的container提供object。因此,traveller不必从carplane对象创建自己的类,它将从container
  • 获取它
  • 当对象允许依赖项注入(inject)机制时。
  • 外部实体container可以根据某种逻辑(car的要求)注入(inject)planetraveller对象。

  • 示例:
    Public class Traveller {
        Vehicle v;
    
        Public void setV(Vehicle v) {
            this.V = V;
        }
        Public void startJourney() {
            V.move();
        }
    }
    

    在这里,traveller类注入(inject)了carplane对象。如果我们想将依赖关系从汽车更改为飞机,则无需在traveller类中进行任何更改。
    Traveller类采用了车辆引用,因此外部对象(容器)可以根据car的要求注入(inject)plane对象或traveller对象。

    关于java - 在哪里可以使用松散和紧密的耦合?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19976273/

    10-11 21:32