精华内容
下载资源
问答
  • 什么是内聚低耦合

    2020-11-10 07:51:23
    其中内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的模块内的功能联系。 而耦合软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一...
        其中内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。
    

    而耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
    高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。

    扩展资料:
    程序开发中的低耦合高内聚
    模块之间联系越紧密,其耦合性就越强,模块之间越独立则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。
    形象的说,就是要将代码写的和电脑一样,主类就是电脑的主机箱,当程序需要实现什么功能的时候只需要加其他的类引入接口,就像电脑上的usb接口。
    一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。
    模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
    在程序开发中,尽量做到低耦合高内聚,这样程序的维护成本以及可读性也会大大增强。

    展开全文
  • 总会听到大牛们说到“高内聚,...一个模块中各个元素之间的联系的紧密程度,如果各个元素(语句、程序段)之间的联系程度越高,则内聚性越高,即‘高内聚’ !如: 一个项目中有20个方法调用良好,但是要修改了其中一个...

    总会听到大牛们说到“高内聚,低耦合”,不是特别明白,最近查阅了一些资料,才明白。

    ‘高内聚,低耦合’是相对于代码而言,一个项目中:

    每个模块之间相互联系的紧密程度,模块之间联系越紧密,则耦合性越高,模块的独立性就越差!反之同理;

    一个模块中各个元素之间的联系的紧密程度,如果各个元素(语句、程序段)之间的联系程度越高,则内聚性越高,即‘高内聚’ !

    如: 一个项目中有20个方法调用良好,但是要修改了其中一个,另外的19个都要进行修改,这就是高耦合!独立性太差!

    现在的软件结构设计,都会要求“高内聚,低耦合”,来保证软件的高质量!mark!

    转载:”高内聚 ,低耦合“到底是什么意思?​blog.csdn.net

    1.什么是高内聚,低耦合?

    可以用简单的两句话来形容这两个词儿:

    高内聚:躲进小楼成一统;

    低耦合:各人自扫门前雪(牵一发而动全身)。

    2.这是软件工程中的概念

    首先要知道一个软件是由多个子程序组装而成,

    而一个程序由多个模块(方法)构成!

    而内聚就是指程序内的各个模块之间关系的紧密程度,

    耦合是指各个外部程序(子程序)之间关系的紧密程度.

    所以很容易明白,为什么要高内聚?模块之间的关系越紧密,出错就越少!

    低耦合?子程序间的关系越复杂,就会产生更多的意想不到的错误!会给以后的维护工作带来很多麻烦!

    // 注释:“内紧而外松”

    内紧:程序内的模块之间要紧密相关,形成一个高效的功能单元;(旨在—创建高效的代码)

    外松:程序之间呢,要尽可能的不关联,各自实现各自的功能。(旨在—实现分工)

    3. 程序开发到高级阶段就是一个大工程,从头到尾由一个人实现是不可能的,于是就要分工模块化完成。即使是由一人完成的程序,内部按照MVC模式的话,也会由subroutine来完成各项功能。于是,对于模块化的开发,就有了这样的要求:高内聚低耦合。 // subroutine:子程序

    如何理解这么晦涩的词儿呢?我们可以反过来看,如果不满足这个条件的程序会出现什么情况。低内聚的程序,就是“东一榔头西一棒棰”,想要用一个变量就当即定义一个变量。用完的变量也不清空,使用之前也不初始化。让人觉得零件落了一地;高耦合的程序,则“牵一发则动全身”。如果修改了某一个模块的接口,其他相关的模块都要从头重新测试。即使以前测试通过的,也受其改动的影响,要重新测试。由此会造成测试不完全而噩梦连连。做到这2点,对于OO的程序非常重要。各个模块,各司其职,将其功能在模块内,发挥之极;而在模块外,其他模块不用关心它是如何做到的,只要关心拿到的数据是满足自己需要的格式就可以了。这样即使以后修改起来,也知道在哪儿修改,怎么修改。修改了以后,造成的影响,以及可以控制和预知测试的范围。

    转载:什么是高内聚,低耦合?_dongxiaohui2008的专栏-CSDN博客​blog.csdn.net

    展开全文
  • 总会听到大牛们说到“高内聚...一个模块中各个元素之间的联系的紧密程度,如果各个元素(语句、程序段)之间的联系程度越高,则内聚性越高,即‘高内聚’ !如: 一个项目中有20个方法调用良好,但是要修改了其中一个...

    总会听到大牛们说到“高内聚,低耦合”,不是特别明白,最近查阅了一些资料,才明白。

    ‘高内聚,低耦合’是相对于代码而言,一个项目中:

    每个模块之间相互联系的紧密程度,模块之间联系越紧密,则耦合性越高,模块的独立性就越差!反之同理;

    一个模块中各个元素之间的联系的紧密程度,如果各个元素(语句、程序段)之间的联系程度越高,则内聚性越高,即‘高内聚’ !

    如: 一个项目中有20个方法调用良好,但是要修改了其中一个,另外的19个都要进行修改,这就是高耦合!独立性太差!

    现在的软件结构设计,都会要求“高内聚,低耦合”,来保证软件的高质量!mark!

    转载:

    ”高内聚 ,低耦合“到底是什么意思?blog.csdn.net

    1.什么是高内聚,低耦合?

    可以用简单的两句话来形容这两个词儿:
    高内聚:躲进小楼成一统;
    低耦合:各人自扫门前雪(牵一发而动全身)。

    2.这是软件工程中的概念
    首先要知道一个软件是由多个子程序组装而成,
    而一个程序由多个模块(方法)构成!
    而内聚就是指程序内的各个模块之间关系的紧密程度,

    耦合是指各个外部程序(子程序)之间关系的紧密程度.

    所以很容易明白,为什么要高内聚?模块之间的关系越紧密,出错就越少!

    低耦合?子程序间的关系越复杂,就会产生更多的意想不到的错误!会给以后的维护工作带来很多麻烦!

    // 注释:“内紧而外松”

    内紧:程序内的模块之间要紧密相关,形成一个高效的功能单元;(旨在—创建高效的代码)

    外松:程序之间呢,要尽可能的不关联,各自实现各自的功能。(旨在—实现分工)


    3. 程序开发到高级阶段就是一个大工程,从头到尾由一个人实现是不可能的,于是就要分工模块化完成。即使是由一人完成的程序,内部按照MVC模式的话,也会由subroutine来完成各项功能。于是,对于模块化的开发,就有了这样的要求:高内聚低耦合。 // subroutine:子程序

    如何理解这么晦涩的词儿呢?我们可以反过来看,如果不满足这个条件的程序会出现什么情况。低内聚的程序,就是“东一榔头西一棒棰”,想要用一个变量就当即定义一个变量。用完的变量也不清空,使用之前也不初始化。让人觉得零件落了一地;高耦合的程序,则“牵一发则动全身”。如果修改了某一个模块的接口,其他相关的模块都要从头重新测试。即使以前测试通过的,也受其改动的影响,要重新测试。由此会造成测试不完全而噩梦连连。做到这2点,对于OO的程序非常重要。各个模块,各司其职,将其功能在模块内,发挥之极;而在模块外,其他模块不用关心它是如何做到的,只要关心拿到的数据是满足自己需要的格式就可以了。这样即使以后修改起来,也知道在哪儿修改,怎么修改。修改了以后,造成的影响,以及可以控制和预知测试的范围。

    转载:

    什么是高内聚,低耦合?_dongxiaohui2008的专栏-CSDN博客blog.csdn.net
    e920d1dc7945341e2bd8835804f9e2df.png
    展开全文
  • 有个例子很容易明白:一个程序有50个函数,这个... 起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。  耦合性也称块间联系...

       有个例子很容易明白:一个程序有50个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他49个函数都需要做修改,这就是高耦合的后果。
    一旦你理解了它,你编写概要设计的时候设计类或者模块自然会考虑到“高内聚,低耦合”

     

     起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。


        耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

        耦合性分类(低――高): 无直接耦合;数据耦合;标记耦合;控制耦合;公共耦合;内容耦合;

    1 无直接耦合:

    2 数据耦合: 指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递;

    3 标记耦合: 指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址;

    4 控制耦合: 指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能;

    5 公共耦合: 指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。

    6 内容耦合: 这是最高程度的耦合,也是最差的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。

     

        内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
        内聚性匪类(低――高): 偶然内聚;逻辑内聚;时间内聚;通信内聚;顺序内聚;功能内聚;

    1 偶然内聚: 指一个模块内的各处理元素之间没有任何联系。

    2 逻辑内聚: 指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。

    3 时间内聚: 把需要同时执行的动作组合在一起形成的模块为时间内聚模块。

    4 通信内聚: 指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。

    5 顺序内聚: 指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。

    6 功能内聚: 这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。与其他模块的耦合是最弱的。

     

        耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

    展开全文
  • 对于子程序而言,内聚性是指子程序中各种操作之间联系的紧密程序。什么样才是高质量的子程序,其中一点就是高内聚性,其目标是让每一个子程序只把一件事做好,不再做任何其他事情。 关于内聚的讨论一般会涉及到内聚...
  • Java封装详解

    2021-02-19 16:06:59
    Java封装特征详解什么是封装?为什么要封装this关键字 什么是封装?为什么要封装 为什么要封装? 通过封装,可以实现对属性的数据访问限制。 封装的体现:四大权限修饰符 其中四大权限修饰符为:priavte...
  • 什么是模块(Modules) ? 模块一个特别的独立单元,可以与其他模块组合以形成更复杂的结构。 在客厅里,我们可以认为电视,沙发和墙艺术模块。它们在一起创造一个可用的房间。 如果我们把其中一个拿走,其他的能...
  • 2.岭南民俗既有中原传统的东西,也有百越古族的遗风,还充满洋味,形成这种奇异特色的原因是什么? 答:岭南古为百越之地,是百越族居住的地方,长期以来,南岭山脉阻碍了岭南地区与中原的交通与经济联系,使岭南...
  • 总体设计-模块化 层次图 结构图   1、模块化设计的原理包括什么?为了提高软件的可维护其中,模块独立最重要的,评价软件结构质量的首要标准。...什么是内聚什么是耦合(P97);在面向数据...
  • 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;...什么是内聚低耦合 封装的体现 方法其实也一种封装 关键字private的封装 private关键字的使用 ...
  • 一、名词解释(5*8) ...2.什么是内聚?它包括那些类型? 3.什么是软件的可维护?它有哪些度量? 4.请画出下列类所具有的关系。(会给图,其中包括接口类) 5.请对上述程序进行等价类划分并设计一组测试用例。...
  • 76、命名要恰如其分 如果都不知道一个东西应该叫什么,那你肯定不知道它究竟是什么。如果你不知道它究竟是什么,那么你肯定不能坐下来为它编写代码。 77、稳定的问题才能产生高质量的...*内聚性:问题块在概念上市统
  • javase

    2018-12-07 21:01:36
    1.什么是抽象,继承,封装,多态 抽象:定义一个类,实际上把一类事物的公共属性和行为提取出来,形成一个物理模型,这种研究的方法叫做抽象。减少复用。低耦合高内聚 2.封装就是把数据和数据操作封装在一起,...
  • 设计模式VS三层架构

    千次阅读 热门讨论 2013-01-22 21:29:54
     设计模式遵循的设计原理为"高内聚,低耦合".设计模式的核心思想代码的可重用.GOR将23中设计模式分为三   大类,分别:创建,结构和行为型..其中,创建型模式抽象了实例化过程,它们帮助一个系统独立于如何...
  • K-均值聚类(K-Means)算法 在数据挖掘中,聚类一个很重要的概念。...“类”指的具有相似的集合,聚类指将数据集划分为若干类,使得各个类之的数据最为相似,而各个类之间的数据相似度差别尽可能的大。...
  • 三层架构和例子

    热门讨论 2017-12-26 20:15:41
    前言 ...我们使用三层的目的为了“高内聚,低耦合”的思想。下边就来说一说三层架构的优点,以及缺点。 优点和缺点 优点 1、开发人员可以只关注整个结构中的其中某一层; 2、可以很容
  • 软件工程知识点

    2012-12-02 21:34:25
    在进行概要设计时,模块的独立性是一个有关质量的重要技术性指标,可以使用模块的内聚、耦合这两个定性参数对模块独立性进行度量。 2.软件详细设计 设计工作的第二步是详细设计,它以概要设计为依据,用于确定软件...
  • 算法一般具有4个基本特征:可行、确定、有穷、拥有足够的情报。 (2)算法的基本运算和操作 算法的基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 (3)算法的3种基本控制结构 算法的3种基本...
  • 需求分析阶段的基本任务是什么? 答: 需求分析是当前软件工程中的关键问题,需求分析阶段的任务是:在可行分析的基础上,进一步了解、确定用户需求。准确地回答 “系统必须做什么?” 的问题。获得需求规格说 ...
  • 并利用具体的例子来全面介绍每个特性,不仅讨论了各个特性是什么,还说明了它是如何工作的,如何使用这个特性来开发软件,以及有关的常见陷阱。  本书面向所有oracle 数据库应用开发人员和dba。 作译者 作者  ...
  • CruiseYoung提供的带有详细书签的电子书籍目录 ... Oracle 9i & 10g编程艺术:深入...第9章讨论redo和undo,解释了它们分别是什么,并指出如何避免各种可能出现的错误。第10章介绍了各种类型的表,其中最重要的是堆组织表...
  •  从另一项“每个DBA管理的数据库数量”调查结果(如下图)也可以看到DBA对于企业的重要(数据来源于ITPUB),约有75%的DBA需要管理5个以上的数据库,其中28.7%的DBA需要管理超过30个数据库。读者可能对这个数字...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    问:开发这个软件目标是什么? 答: 提高用户对音乐的学习和娱乐 参与创作音乐 项目背景--钢琴练奏师 问:为什么传统音乐程序不好? 答: 传统音乐程序功能单一,容易令人感到枯燥无味,没有吸引力; 传统音乐...
  • 4、肝主筋,阴器为宗筋之汇,若情志不遂,忧思郁怒,肝失疏泄条达,则宗筋所无能。5、湿热下注,宗筋弛纵。 肾虚肾脏精气阴阳不足所产生的诸如精神疲乏、头晕耳鸣、健忘脱发、腰脊酸痛、遗精阳痿、男子不育、...
  • 用数字显示被测信号频率的仪器,被测信号可以正弦波,方波或其它周期 变化的信号。因此,数字频率计一种应用很广泛的仪器 电子系统非常广泛的应用领域,到处可见到处理离散信息的数字电路。 数字电路制造...
  • | 模块内聚性高,对外API统一 | 模块被调用方式不可控 | | 执行期无seed,降低运行期复杂度 | seed体积庞大,也性能上的负担 | <p>cdn combo的优势对比: | npm | cdn combo | | --- | --...
  • 1.8 什么时候不应该使用DBMS 18 1.9 小结 18 复习题 18 练习题 19 选读文献 19 第2章 数据库系统的概念和体系结构 20 2.1 数据模型、模式和实例 20 2.1.1 数据模型的分类 21 2.1.2 模式、...
  • 重新认识Angular

    2020-12-26 19:07:05
    <p>Angular模块把组件、指令和管道打包成内聚的功能块,每个模块聚焦于一个特性区域、业务领域、工作流或通用工具。 模块化思想 功能模块抽象层层放射到整个应用程序。 <pre><code> markdown 根模块 ├── ...
  • 1.2 什么是性能问题 5 1.2.1 系统监控 6 1.2.2 响应时间监控 6 1.2.3 强迫调优失调症 6 1.3 如何解决性能问题 7 1.3.1 业务角度与系统角度 7 1.3.2 把问题分类 8 1.3.3 解决问题 8 1.4 小结 9 第...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

其中内聚性是什么