您的位置:首页 > 其它

浅析“高内聚,低耦合”

2016-03-02 22:11 239 查看
面向对象的基本原则:多聚合,少继承;高内聚,低耦合

多聚合

聚合,是指多个元素在一起使用,组成新的元素;

在Java中有“组合类”一说:一个类是由其他的类组合而成的,因此新组成的类就拥有了其组合类的属性和方法。

少继承

继承,是指一个类继承自另一个类,新的类就可以使用(或重写或增加)被继承类的方法;

Java的继承关键字 extends ,Java遵循单一继承原则,一个类只能继承一个类,但是可以实现多个接口;

关于什么时候使用组合,什么时候使用继承

如果存在一种is-a的关系,比如说钢琴(piano)是一种乐器(instrument),乐器类向钢琴类暴露了所有的方法和属性,并且钢琴类可以重写乐器类的方法。这种情况更适合使用继承

如果存在一种has-a的关系,比如说钢琴(piano)由踏板(Pedal)和琴键(Keyboard)组成,此时钢琴和踏板(琴键)不再是父子关系。这种情况更适合使用组合

高内聚

内聚:一个模块内各个元素彼此结合的紧密程度;

在一个模块内,让每个元素之间都尽可能的紧密相连。如果某个元素与该模块的关系比较疏松的话,可能该模块的结构还不够完善,或者是该元素是多余的。

低耦合

耦合:一个软件结构内不同模块之间互连程度的度量;

一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。

关于内聚和耦合

内聚和耦合,包含了横向和纵向的关系。

功能内聚和数据耦合,是我们需要达成的目标。

横向的内聚和耦合,通常体现在系统的各个模块、类之间的关系,而纵向的耦合,体现在系统的各个层次之间的关系。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: