优质博客:IT-BLOG-CN
UML(Unidied Modeling Language)
统一建模语言:用来设计软件的可视化建模语言,能够表达软件设计中的动态与静态信息。UML
定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。
IDEA 展示类图及类图关系
【1】选中.java
或者编辑的.java
文件内部,右键选择Diagrams->show Diagrams...
随后选择弹出的Java Class Diagrams
【2】如下就是当前类的UML
关系图
类与类一共有如下几种关系:泛化Generalization
、实现Realization
、依赖Dependence
、关联Association
、聚合Aggregation
、组合Composition
泛化Generalization
: 也叫作继承关系,在UML
中我们用带空心三角形的直线来表示,对应IDEA
中的蓝色线和蓝色三角;
实现Realization
: 是Java
中类与接口的实现关系,在UML
中我们用带空心三角形的虚线表示,对应IDEA
中的绿色虚线和绿色三角;
依赖Dependence
: 指一个类使用另一个类,这种依赖关系我们用带箭头的虚线表示;
public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {protected M baseMapper;public boolean save(T entity) {return this.retBool(this.baseMapper.insert(entity));}
关联Association
: 关联关系是一种比较强的关系,他们的关系是比较持久的,稳定的。关联分单向关联和双向关联,如果一个类知道或者引用了另一个类,而另一个类不知道或者没有引用这个类,则这两个类是单向关联的。单向关联我们用带箭头的实线表示,箭头指向被引用或者被包含的类。双向关联是两个类彼此都知道对方的存在,双向关联用不带箭头的实线来连接两个类;
聚合Aggregation
: 聚合关系是一种特殊的关联关系,聚合关系强调的是整体和部分的关系,其中部分可以脱离整体而存在。在UML
类图中聚合用带空心菱形的直线表示,其中菱形指向整体;
public class A{ public B b; public A(B b){this.b = b; }
}
组合Composition
: 组合关系也是一种特殊的关联关系,它与聚合关系很像,也是强调整体与部分的关系,不同的是部分无法脱离整体存在。用带实心的菱形直线表示,其中菱形指向整体;
public class A{ public B b; public A(){// ...this.b = NEW B(); // ... }
}
【3】可以选择类右键后选择Show Categories
展示类图的详细信息
【4】当方法太多时,可以右键选择Change Visibility Level
进行筛选
【5】查看具体代码,选择类图之后右键Jump to Source
【6】可以通过Add Class to Diagram
添加类,也可以选择类图后,通过Delete
键删除类图。