//很多概念辨析来之知乎-代码耦合是怎么回事呢?:https://www.zhihu.com/question/21386172/answer/54476702
什么是代码耦合?
一些观点:不推荐使用耦合的概念,而采用依赖、正交性、紧凑性三个概念。
依赖:要求单向依赖
正交性:多个方法之间是否有重复的功能
紧凑性:是指一个模块提供的API中,公有方法总数必须很少,每个方法的参数也必须很少。
《Unix编程艺术》上说一个模块不要超过7个方法,不然就很难理解。
耦合分类
业务耦合:业务耦合必然会带来相关代码的聚合。
架构耦合:
常见
架构:
数据库的存储、业务逻辑解耦
数据的统计、业务解耦
低耦合、高内聚
高内聚:只把关系紧密的方法放到一个类(模块)中。
“高内聚、低耦合”是有代价的
越追求“高内聚、低耦合”
二者关系
光最轻低耦合,没有高内聚的话,是没有意义的
自己理解?
高内聚,是模块中相关事物的聚合。
低耦合,是模块间的依赖。