这几天在看netty的源码想根据源码把netty的UML架构图跟时序图画出来,因此就复习了一下大学时代的一些UML基础知识,首先,咱们要搞清楚如下几个概念:java
继承:这个就不要多说了,写过java代码的人通常都很容易理解继承这个概念。网络
实现:这个可能有些初学者有些模糊,由于你们通常会认为实现跟继承是同样的概念,在java里面 继承使用的关键字是extends而实现使用的关键字是implements。说到这里我想你们都明白了吧。架构
依赖:在理解这个概念以前咱们先去百度百科里面看一下依赖的中文解释:依靠别人或事物而不能自立或自给。俗称成瘾。spa
关联:咱们同样去百度百科里面找一下关联的概念:把两个或两个以上在乎义上有密切联系的句子组合在一块儿,叫复句,也叫关联句。netty
组合:组合,汉语词语,既能够做为名词又能够做为动词使用。做为名词,指由几个部分或个体结合成的总体;做为动词,是指组织成总体。orm
聚合:聚合,指分散的汇集到一块儿。在化学中它指有机化学和高分子化学的重要术语。在网络用语中指对互联网各类信息的集合。blog
以上关于继承跟实现可能你们理解起来比较简单一点,那么咱们如何理解依赖,关联,组合,聚合的关系呢?继承
首先,从语义上理解:生命周期
依赖须要的功能本身不能实现须要从外部引进相关类来完成相关功能,具体实现方式在:方法局部变量, 方法中的参数, 和对静态方法的调用。另外,依赖关系老是单向的。get
所以总的来讲关联,依赖,组合,聚合,这几种关系所表现的强弱程度依次为:组合>聚合>关联>依赖。
本文出自 “陈砚羲” 博客,请务必保留此出处http://chenyanxi.blog.51cto.com/4599355/1531253