ant*_*ant 72
来自Aaron的那篇文章非常有助于理解,我也建议你阅读Manning出版物Spring in Action一书,他们就弹簧如何解决这个问题提供了非常好的例子,它肯定会提高你对此的理解.
编辑:
我在这本名为"面向对象的软件"这本由测试指导的书中出现了这个问题:
耦合:
如果一个中的变化迫使另一个中的变化,则耦合元素.例如,如果两个类继承自公共父级,则一个类中的更改可能需要更改另一个类.想想一个组合音频系统:它紧密耦合,因为如果我们想要从模拟无线电转换到数字无线电,我们必须重建整个系统.如果我们从separates组装一个系统,它将具有低耦合,我们可以换掉接收器."松散"耦合的特征(即,具有低耦合的特征)更易于维护.
凝聚:
元素的凝聚力衡量其责任是否构成一个有意义的单位.例如,解析日期和URL的类不一致,因为它们是不相关的概念.想想一台洗衣服和餐具的机器 - 它不太可能做得很好.2另一方面,只解析URL中标点符号的类不太可能是连贯的,因为它不代表一个完整的概念.要完成任何工作,程序员必须找到协议,主机,资源等的其他解析器.具有"高"一致性的特征更易于维护.
Rob*_*ert 13
内聚 - 与一个类/方法应该只对一件事负责的原则有关,即没有不属于封装的杂散方法; 一种方法只做一件事.高/低凝聚力是指其持有的程度.
耦合 - 系统的不同部分是如何相互依赖的.例如,如何以及在哪里存在依赖关系.如果两个类调用彼此的方法,则它们紧密耦合,因为改变一个意味着必须改变另一个.解耦是制造紧密耦合的东西的过程,或者根本不紧密.
灵活的系统具有高内聚力和松散耦合.