在哪里可以使用松散和紧密的耦合?

成功者

我一直在阅读这篇文章: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要从更改为carplanetraveller必须像下面这样更改整个类:

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

Public class Plane {
    Public void move(){
        ...
    }
}

松耦合

  • 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();
    }
}

在这里,traveller类注入一个car或一个plane对象。traveller如果我们想将汽车的依赖关系更改为飞机,则无需在课堂上进行任何更改

Traveller类采取了车辆引用,所以外部物体(容器)可以注入或者car对象或plane对象,取决于需求traveller

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在哪里可以使用松散和紧密的耦合?

来自分类Dev

在哪里可以使用通配符%1和$ 1?

来自分类Dev

jsp页面的位置,在哪里可以使用spring和<welcome-file-list>?

来自分类Dev

“ indexOf()”方法如何工作?在哪里可以使用?

来自分类Dev

在哪里可以使用结构兼容性?

来自分类Dev

在哪里可以使用结构兼容性?

来自分类Dev

在哪里可以使用Microsoft Reporting Services进行汇总?

来自分类Dev

Cryptoloop如何工作,在哪里可以使用?

来自分类Dev

我可以在haskell定义中使用“在”和“在哪里”吗?

来自分类Dev

在哪里可以找到NSDateFormatter可以使用的格式字符串模式的表?

来自分类Dev

哪里可以使用clearfix?

来自分类Dev

在哪里可以使用HTML5中的b元素

来自分类Dev

Linux在哪里存储垃圾桶可以使用的信息?

来自分类Dev

我在哪里可以使用流星http将POST数据传递到api?

来自分类Dev

在哪里可以使用Symfony2中的Configratuion类

来自分类Dev

我在哪里可以使用Baqend社区版设置缓存?

来自分类Dev

继承与紧密耦合的构图

来自分类Dev

是否建议在Swift中使用协议来打破紧密耦合

来自分类Dev

我们在哪里使用 spring 框架实现松耦合?

来自分类Dev

我可以使用Juju部署的最新Openstack版本是什么?在哪里可以找到此信息?

来自分类Dev

我可以使用Juju部署的最新Openstack版本是什么?在哪里可以找到此信息?

来自分类Dev

在Octopress中可以在哪里使用HAML?

来自分类Dev

在哪里可以找到/使用Python的API?

来自分类Dev

在Octopress中可以在哪里使用HAML?

来自分类Dev

我应该在哪里放置环境变量,以便Apache可以使用它们?

来自分类常见问题

在哪里可以找到有关配置和使用Beaglebone Black引脚的最新指南

来自分类Dev

使用AWS CDK和RDS(Aurora),在哪里可以更改证书颁发机构?

来自分类Dev

我在哪里/如何存储可以同时在Vue前端和Node后端使用的功能?

来自分类Dev

在哪里可以找到有关配置和使用Beaglebone Black引脚的最新指南

Related 相关文章

  1. 1

    在哪里可以使用松散和紧密的耦合?

  2. 2

    在哪里可以使用通配符%1和$ 1?

  3. 3

    jsp页面的位置,在哪里可以使用spring和<welcome-file-list>?

  4. 4

    “ indexOf()”方法如何工作?在哪里可以使用?

  5. 5

    在哪里可以使用结构兼容性?

  6. 6

    在哪里可以使用结构兼容性?

  7. 7

    在哪里可以使用Microsoft Reporting Services进行汇总?

  8. 8

    Cryptoloop如何工作,在哪里可以使用?

  9. 9

    我可以在haskell定义中使用“在”和“在哪里”吗?

  10. 10

    在哪里可以找到NSDateFormatter可以使用的格式字符串模式的表?

  11. 11

    哪里可以使用clearfix?

  12. 12

    在哪里可以使用HTML5中的b元素

  13. 13

    Linux在哪里存储垃圾桶可以使用的信息?

  14. 14

    我在哪里可以使用流星http将POST数据传递到api?

  15. 15

    在哪里可以使用Symfony2中的Configratuion类

  16. 16

    我在哪里可以使用Baqend社区版设置缓存?

  17. 17

    继承与紧密耦合的构图

  18. 18

    是否建议在Swift中使用协议来打破紧密耦合

  19. 19

    我们在哪里使用 spring 框架实现松耦合?

  20. 20

    我可以使用Juju部署的最新Openstack版本是什么?在哪里可以找到此信息?

  21. 21

    我可以使用Juju部署的最新Openstack版本是什么?在哪里可以找到此信息?

  22. 22

    在Octopress中可以在哪里使用HAML?

  23. 23

    在哪里可以找到/使用Python的API?

  24. 24

    在Octopress中可以在哪里使用HAML?

  25. 25

    我应该在哪里放置环境变量,以便Apache可以使用它们?

  26. 26

    在哪里可以找到有关配置和使用Beaglebone Black引脚的最新指南

  27. 27

    使用AWS CDK和RDS(Aurora),在哪里可以更改证书颁发机构?

  28. 28

    我在哪里/如何存储可以同时在Vue前端和Node后端使用的功能?

  29. 29

    在哪里可以找到有关配置和使用Beaglebone Black引脚的最新指南

热门标签

归档