解释模块内聚性和耦合性的含义,并举例说明
时间: 2023-05-25 22:06:34 浏览: 450
模块内聚性是指模块内部各个元素的紧密程度,即模块内部元素彼此之间的相互关联程度。一个内聚性高的模块,其内部元素之间的联系紧密度高,可理解为“关注度”或“密切程度”,它们一起完成某个任务或服务。内聚性具有一定的等级,从低到高可以分为下列四种类型:
1. 偶然内聚:模块内部元素彼此之间没有明确的联系,相互之间独立无关,例如一个库存管理模块中同时包含了库存查询和客户管理两个功能。
2. 逻辑内聚:模块内部元素彼此之间具有共同的逻辑关系,例如一个排序算法模块中仅包含排序算法的代码。
3. 时间内聚:模块内部元素具有按时间排列的共同行为,例如一个从始至终完整执行的发票处理模块。
4. 功能内聚:模块内部元素之间彼此具有紧密的功能联系,例如一个用户管理模块中包含了新增用户、删除用户、修改用户、验证用户等功能。
模块耦合性是指模块之间的关系,即模块之间相互依赖程度。一个高耦合的模块,其较难被其它模块所复用或调用,或者后期更改困难,容易产生“牵一发而动全身”的现象。耦合性具有一定的等级,从低到高可以分为下列五种类型:
1. 无耦合:模块之间没有任何关系,相互独立无关。
2. 数据耦合:模块之间通过公共数据传递信息,如参数传递、变量共享等方式。
3. 通讯耦合:模块之间通过参数传递、函数调用等方式进行通讯。
4. 控制耦合:模块之间控制信息的传递,即一个模块决定了另一个模块的执行流程。
5. 外部耦合:模块之间之间强依赖,互相影响,修改其中任一模块的行为都会影响其它所有关联的模块,例如多个模块之间的公共接口中处理的业务需求。
例如,一个网购系统中,商品查询、库存管理、订单生成和支付接口等模块之间存在数据和通讯耦合关系;同时,订单生成和支付接口还存在控制耦合,而多个模块之间的公共接口则存在较高的外部耦合。如果部分模块内聚性不足,可能导致多个模块之间存在强依赖,后期维护和扩展都会受到影响。
阅读全文