前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >低耦合与代码复用率相互矛盾

低耦合与代码复用率相互矛盾

作者头像
biaoblog.cn 个人博客
发布2022-12-07 15:55:15
2950
发布2022-12-07 15:55:15
举报

为了提高代码复用率,我们通常会将一些基础类(例如链表或堆栈)封装到一个或若干个基础类库里面,其他类库会调用这些基础类。

按软件高内聚低耦合的原则,一个类库应该是高内聚低耦合,减少与其他类库或包的联系,这就与代码复用率相互矛盾了。

代码复用率要求将一些独立的类封装到一个库中,强调复用性;而低耦合则要求减少类库或包之间的联系,尽量将功能在一个类库中实现;因此低耦合和代码复用率之间存在一定程度的矛盾。

一些人或许会觉得代码复用之间拷贝代码或类就可以了,这会造成一些问题,先不说拷贝代码本身容易出现问题,代码多次拷贝也会造成代码维护困难,

例如你将某个基础类多次拷贝,当发现这个类存在bug时,就需要对各个拷贝都进行修改,如果一些代码已经发布,维护就更困难了。

低耦合和可扩展性也存在一定的矛盾,为了提高可扩展性,我们通常会留下尽可能多了扩展接口,这也违背了低耦合原则。

当我们在扩展库中继承了基础库中的某个类,并扩展功能时,扩展库和基础库之间的耦合度很高,也与低耦合原则不符。

我觉得耦合度不是越低越好,当然耦合度低了肯定好维护,但是会牺牲代码复用率、可扩展性等特性。

参考:https://bbs.csdn.net/topics/391894857?list=1204733

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档