耦合性可以是低耦合性(或称为松散耦合),也可以是高耦合性(或称为紧密耦合)。以下列出一些耦合性的分类,从高到低依序排列:
内容耦合(content coupling,耦合度最高)
也称为病态耦合(pathological coupling)当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。
共用耦合/公共耦合(common coupling)
也称为全局耦合(global coupling.)指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。
外部耦合(external coupling)
发生在二个模块共用一个外加的数据格式、通信协议或是设备界面,基本上和模块和外部工具及设备的沟通有关。
控制耦合(control coupling)
指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能
特征耦合/标记耦合(stamp coupling)
也称为数据结构耦合,是指几个模块共享一个复杂的数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址
数据耦合/数据耦合(data coupling)
是指模块借由传入值共享数据,每一个数据都是最基本的数据,而且只分享这些数据(例如传递一个整数给计算平方根的函数)。
消息耦合(message coupling,是无耦合之外,耦合度最低的耦合)
可以借由以下二个方式达成:状态的去中心化(例如在对象中),组件间利用传入值或消息传递 (计算机科学)来通信。
无耦合:模块完全不和其他模块交换信息。
程序的耦合度是 你的子程序之间的相关联性,也就是说你的多个类的联系 是否太紧密,打个比方,你房子里边有窗子 ,那房子 和窗子 就有了关联耦合度 是松还是紧 就看你的 关联 是强还是弱,也就是修改的代价,比如 你窗子是扣死在墙里的 那么你修改窗子 就必须修改墙 这就比较紧密了,但是如果你窗子是按照某种规格的 可以自由拆装的 那么修改的代价就小,耦合度也就低了
我们写程序的目标就是 高内聚 低耦合!
这样修改起来 就不会有太多的联系 不用 改一个地方 其他的都要修改
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)