- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高内聚低耦合
1. 什么是内聚?什么是耦合?
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应
当恰好做一件事。它描述的是模块内的功能联系;
耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱
取决于模块间接口的复杂程度、进入或访问一个模块的点以及通
过接口的数据。
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧
密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模
块的独立性则越差。模块间耦合高低取决于模块间接口的复杂
性、调用的方式及传递的信息。
2 . 内聚分为哪几类?耦合分为哪几类?
内聚有如下的种类,它们之间的内聚度由弱到强排列如下:
(1) 偶然内聚。模块中的代码无法定义其不同功能的调用。
但它使该模块能执行不同的功能,这种模块称为巧合强度模块。
(2 ) 逻辑内聚。这种模块把几种相关的功能组合在一起, 每
次被调用时,由传送给模块参数来确定该模块应完成哪一种功能
(3 ) 时间内聚:把需要同时执行的动作组合在一起形成的模
块为时间内聚模块。
(4 ) 过程内聚:构件或者操作的组合方式是,允许在调用前
面的构件或操作之后,马上调用后面的构件或操作,即使两者之
间没有数据进行传递。
(5 ) 通信内聚:指模块内所有处理元素都在同一个数据结构
上操作(有时称之为信息内聚),或者指各处理使用相同的输入
数据或者产生相同的输出数据。
(6 ) 顺序内聚:指一个模块中各个处理元素都密切相关于同
一功能且必须顺序执行,前一功能元素输出就是下一功能元素的
输入。
(7 ) 功能内聚:这是最强的内聚,指模块内所有元素共同完
成一个功能,缺一不可。
耦合可以分为以下几种,它们之间的耦合度由高到低排列如
下:
(1) 内容耦合:如果发生下列情形,两个模块之间就发生了
内容耦合
一个模块直接访问另一个模块的内部数据
一个模块不通过正常入口转到另一模块内部;
两个模块有一部分程序代码重叠 ( 只可能出现在汇编语言
中);
一个模块有多个入口。
(2 ) 公共耦合:若一组模块都访问同一个公共数据环境,则
它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数
据结构、共享的通信区、内存的公共覆盖区等。
(3 ) 外部耦合:一组模块都访问同一全局简单变量而不是同
一全局数据结构,而且不是通过参数表传递该全局变量的信息,
则称之为外部耦合。
(4 ) 控制耦合:如果一个模块通过传送开关、标志、名字等
控制信息,明显地控制选择另一模块的功能,就是控制耦合
(5 ) 标记耦合:一组模块通过参数表传递记录信息,就是标
记耦合。这个记录是某一数据结构的子结构,而不是简单变量。
其实传递的是这个数据结构的地址;也就是地址传递。
(6 ) 数据耦合:指两个模块之间有调用关系 ,传递的是简单的
数据值,一个模块访问另一个模块时,彼此之间是通过简单数据
参数 (不是控制参数、公共数据结构或外部变量 ) 来交换输入、输
出信息的 ,相当于高级语言的值传递。
(7 ) 非直接耦合:两个模块之间没有直接关系,它们之间的
联系完全是通过主模块的控制和调用来实现的。
耦合强度,依赖于以下几个因素:
(1)一个模块对另一个模块的调用;
(2 )一个模块向另一个模块传递的数据量;
(3 )一个模块施加到另一个模块的控制的多少;
(4 )模块之间接口的复杂程度。
1、 耦合、内聚的评估标准是 强度 ,耦合越弱越好,内聚越
强越好;
2 、所谓 过度 指的是由于错误理解导致的效果相反的设
计;
3 、耦合指的模块之间的关系 ,最弱的耦合设计是通过一
个主控模块来协调 n 个模块之间的运作。还是举一个我
文档评论(0)