离婚起诉范文怎么写:《什么是耦合》-ZOL博客

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 16:54:34

《什么是耦合》


2008-11-26 19:18:38    分类:java | 技术 |  评论(0) |  浏览(3624)

《什么是耦合》

 

耦合是指两个实体相互依赖于对方的一个量度。分为以下几种:

非直接耦合:两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的

数据耦合:一个模块访问另一个模块时,彼此之间是通过简单数据参数 (不是控制参数、公共数据结构或外部变量) 来交换输入、输出信息的。

标记耦合 :一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。

控制耦合:如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。

外部耦合:一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。

公共耦合:若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

内容耦合:如果发生下列情形,两个模块之间就发生了内容耦合

(1) 一个模块直接访问另一个模块的内部数据;

(2) 一个模块不通过正常入口转到另一模块内部;

(3) 两个模块有一部分程序代码重迭(只可能出现在汇编语言中);

(4) 一个模块有多个入口。

王志东的松耦合(loose coupling)理论


松耦合的设计思想借鉴了计算机系统中总线的概念。在计算机中,所有的部件都是通过总线连在一起的,信息也遵从总线协议进行交换,只要遵从接口协议,任何部件的更换都不会影响到计算机的正常工作。借鉴这种思路,松耦合可以将OSS拆分为一定数量的模块,然后通过总线将这些模块连接在一起,从而构成一个完整的OSS系统,其中各模块之间没有任何直接的联系。当然,OSS要比计算机总线复杂得多,除了数据标准和业务流程标准外,它还涉及到用户界面的整合、业务流程的整合。

“松耦合的理念是系统可以逐级拆分,即先拆分为若干个模块,每一个模块再拆分。拆分越细,级分得越多,系统适应业务变化的能力也就越强,但实施时间也越长。因此,拆分到哪一级很有讲究。”卢本俊说。

 

松耦合系统的好处是显而易见的。当某一个业务模块需要替换时,只要从总线上“拔”下来,换上新的模块就可以了;需要增加新的业务时,只需将新业务模块“插”到总线上就可以了。

 

“紧耦合研发速度快,但实施风险大,如果某一部分拖了进度,则整个系统的进度都要受影响,且升级开销大,必须推倒重来,无法加入新业务。而松耦合研发速度比紧耦合慢,实施风险小,当某一模块出现问题,对整个系统影响不大,且可按模块升级,新业务可作为模块随时加入。”卢本俊对紧耦合系统与松耦合系统的实施阶段作了一番对比。

 

而松耦合的另一好处是可以充分整合集成商的优势。“每个公司都有自己擅长的领域。比如说,A公司营业做得很好,但计费不行;B公司擅长账务,而营业做得一般。在紧耦合模式下,你要么找A要么找B。而在松耦合下,用户可以请A公司做营业,请B公司做账务系统。” 微软顾问咨询部负责电信行业的李普介绍说。