美文网首页
内聚与耦合的类型与举例(转)

内聚与耦合的类型与举例(转)

作者: 鸡龙 | 来源:发表于2020-01-04 14:28 被阅读0次

内聚和耦合的举例

内聚类型:

1.偶然内聚

模块的各成分之间没有关联,只是把分散的功能合并在一起。

例:A模块中有三条语句(一条赋值,一条求和,一条传参),表面上看不出任何联系,但是B、C模块中都用到了这三条语句,于是将这三条语句合并成了模块A。模块A中就是偶然内聚。

2.逻辑内聚

逻辑上相关的功能被放在同一模块中。

例:A模块实现的是将对应的人员信息发送给技术部,人事部和财政部,决定发送给哪个部门是输入的控制标志决定的。模块A中就是逻辑内聚。

3.时间内聚

模块完成的功能必须在同一时间内执行,但这些功能只是因为时间因素才有关联。

例:编程开始时,程序员把对所有全局变量的初始化操作放在模块A中。模块A中就是时间内聚。

4.过程内聚

模块内部的处理成分是相关的,而且这些处理必须以特定的次序进行执行。

例:用户登陆了某某网站,A模块负责依次读取用户的用户名、邮箱和联系方式,这个次序是事先规定的,不能改变。模块A中就是过程内聚。

5.通信内聚

模块的所有成分都操作同一数据集或生成同一数据集。

例:模块A实现将传入的Date类型数据转换成String类型,以及将Date类型数据插入数据库,这两个操作都是对“Date类型数据”而言的。模块A中就是通信内聚。

6.顺序内聚

模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入。

例:模块A实现将传入的Date类型数据转换成String类型,然后再将转换好的String类型数据插入数据库。模块A中就是顺序内聚。

7.功能内聚

模块的所有成分对于完成单一的功能都是必须的。

例:模块A实现将新注册的用户信息(用户名,密码,个性签名)全部转换成String类型并插入数据库。模块A中就是功能内聚。

耦合类型:

1.内容耦合

一个模块直接修改或操作另一个模块的数据,或者直接转入另一个模块。

例:模块A中定义了变量a,在模块B中直接使用了。这种情况下模块A和模块B就是内容耦合。

2.公共耦合

两个以上的模块共同引用一个全局数据项。

例:定义了一个全局变量a,在A、B、C模块中均调用了a,这种情况下模块A、模块B、模块C就是公共耦合。

3.控制耦合

一个模块在界面上传递一个信号控制另一个模块,接收信号的模块的动作根据信号值进行调整。

例:模块A获取用户类型(普通用户、高级用户)传递给模块B,模块B根据不同类型的用户提供不同的服务。这种情况下模块A和模块B就是控制耦合。

4.标记耦合

模块间通过参数传递复杂的内部数据结构。

例:模块A向模块B传递Object类型的数据。这种情况下模块A和模块B就是标记耦合。

5.数据耦合

模块间通过参数传递基本类型的数据。

例:模块A实现两个数的加法操作,模块B实现两个加数的初始化,模块B将两个加数传给模块A,模块A进行相加。这种情况下模块A和模块B就是数据耦合。

6.非直接耦合

模块间没有信息传递。

例:模块A实现输出字符串,模块B实现接收int数据,两者之间没有信息传递。这种情况下模块A和模块B就是非直接耦合。

完全转载自该文章

相关文章

  • 内聚与耦合的类型与举例(转)

    内聚和耦合的举例 内聚类型: 1.偶然内聚 模块的各成分之间没有关联,只是把分散的功能合并在一起。 例:A模块中有...

  • (学习)高内聚低耦合

    “高内聚低耦合”是评判代码设计的标准。内聚是指块内部的联系,耦合是指块与块之间的联系。 如下图,服务器数据的获取,...

  • 高内聚低耦合(转)

    原文地址 前言 高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,看类的内聚性是否高,...

  • 软件工程|内聚与耦合

    高内聚、低耦合是软件设计中的一个原则,其中内聚是指模块内部各元素之间联系的紧密程度,也就是代码功能的集中程度。耦合...

  • iOS APP框架搭建简析(附GitHub托管Demo)

    前言 不管开发任何软件,我们的原则就是尽量做到“高内聚低耦合”。所谓“低耦合”是指软件结构中模块与模块之间的耦合度...

  • iOS Router原理篇

    前言: iOS强调模块化、组件化,讲究模块内高内聚,模块间低耦合。那么模块与模块之间的低耦合,就要求模块间的通信要...

  • 通过剔除上下文依赖减弱封装的耦合性

    0 高内聚以内部功能的完备性衡量封装的度,低耦合以与外部的关联程度衡量封装的度。 看一个可以说是高内聚其实是高耦合...

  • 如何理解高内聚低耦合?什么是依赖倒置、控制反转、依赖注入?

    软件工程里面,有高内聚低耦合的概念。 那么,什么是内聚?什么是耦合呢? 内聚 所谓内聚,就是指一个功能模块内所有内...

  • Spring

    Spring的一切都是为了耦合性 高内聚 相同的功能代码放在一块 低耦合 模块与模块之间减少耦合 spri...

  • 高内聚、低耦合介绍(转)

    (文章来自于博客园) 起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两...

网友评论

      本文标题:内聚与耦合的类型与举例(转)

      本文链接:https://www.haomeiwen.com/subject/agnxactx.html