11月 17th, 2008 | by 邓芝 |

另一个层次的耦合度

耦合度有很多的理解,《模块的耦合度》就讲到非常好。文中分别讲了七种耦合情况:非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合、内容耦合。本文从“产品”的层面来谈谈耦合度(以上经验也是在实施SOA之后,系统变得更加庞大,业务变得更加复杂之后的一些思考)。

第一,技术与业务的耦合,在使用开源产品的发展型公司中,这是普遍存在的一个现象,技术中包含业务,业务中包含技术。出现的结果是:技术只为使用它的业务服务,难以持续发展;技术的重视变为一种口头禅,想单独发展也困难;技术管理变得虚弱,甚至不存在;不断refactor,技术架构与业务架构联动;开发人员的能力要求等同化,不利于培养和发展;遗留问题边缘化、遗弃化。【看参考《闲话通用技术之二 :苦中作乐》与系列文章】

第二,产品与产品的横向耦合,产品之间的耦合表现为模块接口耦合、数据耦合、业务模型耦合(解决它是具有巨大挑战的。出现的结果是:被耦合度产品,关联度越高,越难以维护,越难以发展;数据上的一丝变化,就导致业务故障;任何被耦合度模型,即使一个小的变化,就需要重新设计其它模型;为了应对多样性的存在,产品提供的相似接口有一打。

解决以上两种耦合度方法是:技术产品化、架构平台化、耦合协议化与规约化、产品体系化

  1. 2 Responses to “另一个层次的耦合度”

  2. By eshen on Dec 25, 2008 | Reply

    d大哥,实在不敢当,大师的大作实在让我受益匪浅。我也并不是做软件,设计只是外行,看看热闹。还请多多指教。

  1. 1 Trackback(s)

  2. Dec 24, 2008: 解决跨部门产品耦合的问题 » AVIT Life

Post a Comment