什么是高内聚,低耦合

本文详细介绍了高内聚与低耦合的概念及其在软件开发过程中的重要性。高内聚强调模块内部各部分的紧密联系,以实现单一职责。低耦合则关注模块之间的独立性和互不影响,通过引入中间类来实现。通过实践这两个原则,可以提高代码质量和维护效率。

高内聚:

构成一个功能模块的各个部分彼此联系很紧密。

如何实现:

内聚指的是职责单一,高指的是完成功能的各个部分彼此要充分复用。



低耦合:

多个功能模块之间没有直接的联系。

如何实现:

耦合指的是相互的引用关系,低指的是相互引用越少越好。

通过加入中间类的方式来实现。



从函数接口角度来看,高内聚意味着函数接口专注于完成单一、明确的任务,函数内部的各个操作紧密围绕该任务展开,具有高度的相关性和一致性。以处理订单的软件系统为例,一个专门处理订单支付的函数接口,应包含验证支付信息、处理支付交易、记录支付日志等与“支付”紧密相关的功能,这些功能围绕“支付”这一单一任务,体现了高内聚 [^4]。 低耦合则指函数接口之间的依赖关系尽可能简单和松散。在设计函数接口时,应多用接口来隐藏实现,避免模块之间过度的调用、大量的数据传输、复杂控制信息的传输以及复杂的接口。函数接口应只对外暴露最小限度的接口,只提供完成其功能所必需的参数和返回值,暂时不需要的接口无需暴露,以形成最低的依赖关系。同时,只要函数接口的对外定义不变,函数内部的修改不应影响其他函数接口,删除一个函数也只应影响有依赖关系的其他函数,而不影响无关部分 [^1][^2]。 ```python # 高内聚示例 def process_payment(payment_info): # 验证支付信息 if not validate_payment_info(payment_info): return False # 处理支付交易 result = handle_payment_transaction(payment_info) if result: # 记录支付日志 record_payment_log(payment_info) return result def validate_payment_info(payment_info): # 具体验证逻辑 return True def handle_payment_transaction(payment_info): # 具体交易处理逻辑 return True def record_payment_log(payment_info): # 具体日志记录逻辑 pass # 低耦合示例 # 函数A def function_a(): result = function_b() return result # 函数B def function_b(): return "Some result" ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值