当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

c语言中耦合度内聚度复杂度数据传输特性相关含义

更新:02-19 整理:39baobao.com
字体:

[C语言中什么是结构体类型的数据?数据总共分几个类型]结构体类型就是以struct关键字定义的数据类型呗。 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。是一种聚合类型,里面可以包含多种数据类型,...+阅读

尽可能的独立。 处理一个模块时,不应该依赖另一个模块的内部工作。 内聚原则是指,在一个给定的模块内部,所有的代码应该只完成一个单个的目标。 IT界有一句很著名的口号:强内聚、松耦合。 即使是最初级的程序员,在常常的被教导中,他也了解了这句口号的含义:我们的程序要模块化,模块要完成明确的一组关联的服务功能,要求它的各部分是相关的、有机组合起来是完整体(外部程序来看黑盒子),模块的内部各成分之间相关联程度要尽可能高(强内聚);而模块与模块之间又要求是可分拆的、少依赖的(松耦合)。 人们易于实现强内聚的模块,例如:一个函数实现一个独立的功能,这就是强内聚。 人们不易实现松耦合,因为,孤独的模块毫无意义,只有模块间的相互协调地工作,才能实现系统的目的。而对于模块间的相互关系的设计,没有一定的经验是难以把握。耦合的强度依赖于:

(1)一个模块对另一个模块的调用;

(2)一个模块向另一个模块传递的数据量;

(3)一个模块施加到另一个模块的控制的多少;

(4)模块之间接口的复杂程度。等等。 当然,“强内聚、松耦合”也是有矛盾的,如:内聚性越强,则要求的函数越多(每个函数只作一件“事”),这样,将它们组合成“大”的功能,也就越复杂,就不可能达到松耦合。因此,应在二者之间作出平衡与折衷的选择,这也体现程序员的水平。从系统论的角度来看,系统是有层次的,即系统可以分为子系统,模块可分为子模块,“强内聚、松耦合”的“度”的把握,应结合系统的次层性来考虑,即通常应在层次性上作出折衷,如:模块内子程序(下一个层次上)应共享数据(有一定的耦合度),而减少全局变量能降低子程序性间的耦合性。 面向对象的语言进一步强化了“强内聚、松耦合”,类的封装性既强调了相关内容(数据及其操作)的内聚,又强调了类的独立性和私密性。而类的继承性以及友元等,就是在松耦合的原则下规范了类之间的关联关系。类与类之间通常通过接口的契约实现服务提供者/服务请求者模式,这就是典型的松耦合。 “强内聚、松耦合”对于程序编写分工、程序的可维护性以及测试都有重要的关系,如:从设计角度来看,在“强内聚、松耦合”的指导下进行的设计得到的程序模块,符合项目管理的WBS(工作分解结构)的要求,其相对独立的模块可以分配到具体的程序员进行开发,另外,程序编码外包也必须建立在这种原则的设计之下;从程序生命期角度来看,它有利于提高程序质量,特别是方便于程序的日后维护,即程序模块的相对独立性是可维护性的保证;再从测试角度来看,符合“强内聚、松耦合”的程序,易于对局部(模块)进行黑盒测试,也易于编写测试用的“桩”和“驱动”。 “强内聚、松耦合”也是对组织结构的要求,项目组分为几个小组(正式的或非正式的),各小组的工作应是高度相关的,各小组之间的工作应尽量是较少相关或有明确的接口,从而减少沟通成本。其实,“强内聚、松耦合”是系统中应遵守的普遍原则,我们在许多领域都可以找到它的应用。 “强内聚、松耦合”是我们不得不念的“三字经”,我们一定要念好它。

本文地址:https://www.39baobao.com/show/29_43456.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

c语言数据结构中结构体定义问题编译器逐行解析,在定义next之前,编译器已经知道struct student这个结构类型的存在,所以可以用它来定义next。 next是指向struct student结构的指针类型。一般像这种用法,都是用...

在C语言中11种赋值运算符的具体含义用法1.= 赋值运算符 变量=表达式 如:a=3;将a的值赋为3 2./= 除后赋值 变量/=表达式 如:a/=3;即a=a/3 3.*= 乘后赋值 变量*=表达式 如:a*=3;即a=a*3 4.%= 取模后赋值 变量%=表达式 如:a%...

C语言数据结构与算法分析C语言描述Position不是一个类型,起码C语言中,我写那么多年代码没见过这个类型 。你该把整段代码贴上来。我猜你看的那段代码是伪代码,Position是自定义类型。若Position是类名,那么Positi...

用C语言求一个数的小数点后第几位数是多少程序尽量时间复杂度小初学C,正好看到此题,呵呵,就用最原始的方法给写一下吧#include"stdio.h" #include"math.h" main() {double n; int m,i; printf("请输入一个数及要求的小数点后第几位(空格键隔开):\n");...

在C语言中不同的数据类型之间是如何转换的不同的数据类型是怎样计在C语言中,不同数据类型在进行运算时首先要转换成同一类型,一种是自动转换,二是强制转换,如(int)a 将a强制转换为int型 转换原则:箭头是转换方向 char,short->int->unsigned->long,...

VS2005中使用C语言连接SQL数据库然后实现插入数据的方法try { String commandText="select count(*) from users"; SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=(local);Initial Catalog=class...

c语言中最简单的数据类型包括什么①基本类型:(最常用) 整型(短整型short int;整型int;长整型long int) 字符型(char) 浮点型(单精度型float;双精度型double;长双精度型long double) 布尔型(bool) ②构造类型: 枚举类型(enum)...

C语言中最简单的数据类型是C语言中最简单的数据抄类型是整型、实型、字符型,其中最短的袭是字符型。但各数据类型在32位和bai64位的操作系统中有所不同。如Int数据类型在64位机du器上占8字节,在32位机器...

c语言中数据类型有哪些你好! C++中的数据类型和各自的取值范围分别有: 整形: int -2^31 —— 2^31-1 (即负2的31次方,这里用^表示上标,下同) short -2^15 —— 2^15-1 long -2^63 —— 2^63-1 浮点型: flo...