精华内容
下载资源
问答
  • java耦合度介绍

    千次阅读 2018-05-02 09:29:29
    java耦合度解释 我们写程序的目标就是 高内聚 低耦合! 那什么是耦合度呢? 程序的耦合度是 你的子程序之间的相关联性,也就是说你的多个类的联系 是否太紧密,耦合度 是松还是紧 就看你的 关联 是强还是弱,也...

    java耦合度解释

    我们写程序的目标就是 高内聚 低耦合!
    那什么是耦合度呢?

    程序的耦合度是 你的子程序之间的相关联性,也就是说你的多个类的联系 是否太紧密,耦合度 是松还是紧 就看你的 关联 是强还是弱,也就是修改的代价。

    打个比方:比如一张椅子有四个角,如果你的四个角是和椅子紧密连在一起的,那么一个角坏了你就要换整张椅子,但是如果你的四个角是按照某种规格的 可以自由拆装的 那么修改的代价就小,耦合度也就低了。

    而我们的程序亦是如此 这样修改起来 就不会有太多的联系 不用 改一个地方 其他的都要修改。

    展开全文
  • 一个是两个类两个类之间的耦合度问题,A类调用B类的一个操作b()和C类调用B类的一个操作b(xxx),是不是说C类相比于A类对B类的耦合度就更高,就因为C在和B发生关系的时候传递了参数,用于改变B内的变量这样?
  • java耦合度,要高内聚,低耦合

    千次阅读 2017-03-16 14:01:26
    耦合度 是松还是紧 就看你的 关联 是强还是弱,也就是修改的代价,比如 你窗子是扣死在墙里的 那么你修改窗子 就必须修改墙 这就比较紧密了,但是如果你窗子是按照某种规格的 可以自由拆装的 那么修改的代价就小,...
    下面是从百度搜索出来的一段话:
    程序的耦合度是 你的子程序之间的相关联性,也就是说你的多个类的联系 是否太紧密,打个比方,你房子里边有窗子 ,那房子 和窗子 就有了关联

    耦合度 是松还是紧 就看你的 关联 是强还是弱,也就是修改的代价,比如 你窗子是扣死在墙里的 那么你修改窗子 就必须修改墙 这就比较紧密了,但是如果你窗子是按照某种规格的 可以自由拆装的 那么修改的代价就小,耦合度也就低了
    我们写程序的目标就是 高内聚 低耦合!
    这样修改起来 就不会有太多的联系 不用 改一个地方 其他的都要修改
    讲的非常好,也就是分层的机构。类与类之间 最好是相对 独立的 不要有太多的关系。这样就降低耦合度。 修改起来也就容易了
    耦合就是程序中的一部分跟其他部分之间的关系。
    软件工程有一条铁律“高内聚、低耦合”:
    1、模块只对外暴露最小限度的接口,形成最低的依赖关系;
    2、只要对外接口不变,模块内部的修改,就不得影响其他模块;
    3、删除一个模块,应当只影响有依赖关系的其他模块,而不应该影响其他无关部分。

    框架是不也就是做这些东西么, 那个框架用起来比较好,层次分得比较细,层与层之间 耦合度比较低的话,这样维护起来就比较容易,这样成本就会降低。
    展开全文
  • Java学习记录:降低耦合度

    千次阅读 2016-02-24 11:10:06
    降低耦合度 监听器设计
    • 耦合度定义

    耦合度(Coupling)是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。
    模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差。
    降低模块间的耦合度能减少模块间的影响,防止对某一模块修改所引起的“牵一发动全身”的水波效应,保证系统设计顺利进行。

    • 降低耦合度意义

    在初学的简单程序的编写中,高耦合度往往不被重视。类之间的变量传递按需求进行。但是当程序的规模变大,需求增多,高耦合度的程序不易作出修改,类之间的逻辑以及调用关系不明朗。降低耦合度就成了必要之举。

    • 降低耦合度的方法

      1.类监听器设计
      若要实现更新UI中组件的信息,我们常常这样做。

      这里写图片描述

      但是一旦UI中的组件进行了修改,就会导致一连串调用了该组件的类无法使用,需要对其作出修改。两个类相互都有关联,这就是高耦合度,不利于程序进行修改完善。

      类监听器的设计方法可以实现界面以及接收器的分离。其基本流程如下。

      这里写图片描述

      此方法可以实现界面以及接收器的分离,当改动接收器或者界面的时候,只需要改动部分代码。而且接收器可以同时分发给多个监听器,同样界面也可以加多个监听器,相较于之前的代码更加灵活。

    • 示例代码
      1.类监听器设计

    MListener.java

    public interface MListener {
        public void reciveMsg(String s);
    }

    MJTextArea.java

    import javax.swing.JTextArea;
    
    public class MJTextArea extends JTextArea 
        implements MListener{
        private static final long serialVersionUID = 1L;
        public void reciveMsg(String s) {
            String msg = this.getText();
            msg += s; 
            this.setText(msg);
        }
    }

    NetConnector.java

    import java.util.ArrayList;
    import java.util.List;
    
    public class NetConnector extends Thread{
        private List<MListener> listeners = 
                new ArrayList<MListener>();
        public void addListener(MListener listener){
            listeners.add(listener);
        }
        public void fireMsgRecive(String s){
            for(int i = 0 ; i < listeners.size(); i++){
                listeners.get(i).reciveMsg(s);
            }
        }
    
        public void run(){
            int i = 0;
            while(true){
                try {
                    Thread.sleep(3000);i++;
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                fireMsgRecive("Test"+i+"\n");
            }
        }
    }

    MainUI.java

    import java.awt.FlowLayout;
    import java.awt.Font;
    import javax.swing.JFrame;
    
    public class MainUI extends JFrame{
        private static final long serialVersionUID = 1L;
    
        public static void main(String[] args) {
            MainUI ui = new MainUI();
            NetConnector connector = new NetConnector();
            connector.start();
            MJTextArea text = new MJTextArea();
            connector.addListener(text);
            ui.setupUI(text);
        }
    
        public void setupUI(MJTextArea text){
            this.setTitle("Title");
            FlowLayout fl = new FlowLayout();
            this.setLayout(fl);
            this.add(text);
            text.setFont(new Font("楷体",30,30));
            this.setSize(800, 800);
            this.setDefaultCloseOperation(EXIT_ON_CLOSE);
            this.setVisible(true);
        }
    }
    展开全文
  • java程序的耦合度是什么

    千次阅读 2016-07-12 16:21:02
    程序的耦合度是 你的子程序之间的相关联性,也就是说你的多个类的联系 是否太紧密,打个比方,你房子里边有窗子 ,那房子 和窗子 就有了关联 耦合度 是松还是紧 就看你的 关联 是强还是弱,也就是修改的代价,比如 ...
    程序的耦合度是 你的子程序之间的相关联性,也就是说你的多个类的联系 是否太紧密,打个比方,你房子里边有窗子 ,那房子 和窗子 就有了关联
     耦合度 是松还是紧 就看你的 关联 是强还是弱,也就是修改的代价,比如 你窗子是扣死在墙里的 那么你修改窗子 就必须修改墙  这就比较紧密了,但是如果你窗子是按照某种规格的  可以自由拆装的 那么修改的代价就小,耦合度也就低了
     我们写程序的目标就是 高内聚 低耦合!
      这样修改起来 就不会有太多的联系 不用 改一个地方 其他的都要修改
    展开全文
  • 耦合度&如何降低耦合度

    千次阅读 2018-07-03 13:44:35
    一、什么是耦合度  耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准。耦合的强度依赖于以下几个因素:(1)一个模块...
  • 耦合度

    千次阅读 2016-04-25 17:07:27
    一、什么是耦合度 耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准。耦合的强度依赖于以下几个因素:(1)一个模块...
  • java耦合

    千次阅读 2019-02-20 16:09:23
    耦合度讲的是模块模块之间,代码代码之间的关联度,通过对系统的分析把他分解成一个一个子模块,子模块提供稳定的接口,达到降低系统耦合度的的目的,模块模块之间尽量使用模块接口访问,而不是随意引用其他模块的...
  • Java耦合问题

    千次阅读 2020-07-10 12:45:01
    软件工程中对象之间的耦合度就是指对象之间的依赖性。 对象之间的耦合越高,维护成本也就越高 2、常见的耦合 内容耦合 内容耦合是指一个模块与另一个模块的内部属性有关,不经调用直接使用另一个模块的程序代码或...
  • 耦合度和聚合度

    2015-09-15 09:14:00
    简单地说,对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小. 耦合性是程序结构中各个...
  • 什么是耦合度

    万次阅读 2014-05-25 21:25:07
    简单地说,软件工程中对象之间的耦合度就是对象之间的依赖性。指导使用和维护对象的主要问题是对象之间的多重依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。 有软硬件...
  • 传统报表开发的两个阶段,数据准备和数据呈现往往使用不同方式实现(前者使用 SQL 或 JAVA,后...如何降低报表应用的耦合度?让报表不再依赖 SQL/JAVA,仅用报表工具就可以实现。 ...
  • 降低耦合度

    千次阅读 2013-04-20 09:58:25
    耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准。耦合的强度依赖于以下几个因素:(1)一个模块对另一个模块的调用...
  • SonarQube中监测循环、包耦合度情况

    万次阅读 2013-10-20 15:27:38
    一、为什么要监测循环、包耦合度情况? 耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码质量评价的一个标准。 耦合度很高的情况下,...
  • Java耦合的理解

    2020-05-26 23:12:43
    java讲究高内聚,低耦合。今天我们就先来说一下什么是耦合,如何才能低耦合。 1.耦合定义:耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。也就是两者存在着强关联。 ...
  • 关于开发中耦合度的强弱顺序

    千次阅读 2013-09-20 20:21:35
    之前在做题的时候碰到过要判断开发设计中耦合度强弱问题,在网上查了些资料,这个比较全。 耦合按从强到弱的顺序可分为以下几种类型: a)非直接耦合:两模块间没有直接关系,之间的联系完全是通过主模块的控制和调用...
  • 在学习框架的时候就经常看到这个高频词,但是我不知道到底什么是耦合度?
  • 内存的分配方式与代码耦合度 1.我们常见的内存分配方式有三种,分别是: 静态存储区域分配:个人理解是针对于存放在静态存储区域的变量申请的内存,该申请到内存在编译的时候就已经分配好并且在整个运行的过程中都...
  • 耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差( 降低耦合性,可以...
  • Java中的低耦合高内聚法则

    千次阅读 2017-12-18 20:21:14
    问题由来:类与类之间的关系越来越密切,耦合度越来越大,当一个类发生改变时,对另外一个类的影响也越大. 解决方案:尽量降低类与类之间的耦合.案例:在一所学校,里面有老师若干名,依次编号。下面有学生若干名,...
  • public static UserDao getUserDao() { return new UserDaoImp(); }
  • 设计及编码质量改进之降低耦合度

    千次阅读 2010-04-22 16:51:00
    转自:http://blog.csai.cn/user1/46022/archives/2008/34195.html一、什么是耦合度 耦合度就是某模块(类)与其它模块(类)之间的关联、感知和依赖的程度,是衡量代码独立性的一个指标,也是软件工程设计及编码...
  • 耦合的强弱叫做耦合度。 我们的软件工程里面一个基本原则是高内聚,低耦合。 模块间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系、数据传递关系。模块间联系越多,其耦合性越强,同时表明其独立性越差...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 97,421
精华内容 38,968
关键字:

java耦合度

java 订阅