亲宝软件园·资讯

展开

IDEA一键生成序列图

Guide哥 人气:0

在平时的学习/工作中,我们会经常面临如下场景:

千万不要觉得工作就是单纯写代码,实际工作中,你会发现你的大部分时间实际都花在了阅读和理解已有代码上。

为了能够更快更清晰地搞清对象之间的调用关系,我经常需要用到序列图。手动画序列图还是很麻烦费时的,不过 IDEA 提供了一个叫做SequenceDiagram 的插件帮助我们解决这个问题。通过 SequenceDiagram 这个插件,我们一键可以生成时序图。

何为序列图?

网上对于序列图的定义有很多,我觉得都不太好理解,太抽象了。最神奇的是,大部分文章对于序列图的定义竟然都是一模一样,看来大家是充分发挥了写代码的“精髓”啊!

我还是简单说一说我的理解吧!不过,说实话,我自己对于 Sequence Diagram 也不是很明朗。下面的描述如有问题和需要完善的地方,还请指出。

序列图(Sequence Diagram),亦称为循序图,是一种UML行为图。表示系统执行某个方法/操作(如登录操作)时,对象之间的顺序调用关系。

这个顺序调用关系可以这样理解:你需要执行系统中某个对象 a 提供的方法/操作 login(登录),但是这个对象又依赖了对象 b 提供的方法 getUser(获取用户)。因此,这里就有了 a -> b 调用关系之说。

再举两个例子来说一下!

下图是微信支付的业务流程时序图。这个图描述了微信支付相关角色(顾客,商家...)在微信支付场景下,基础支付和支付的的顺序调用关系。

在这里插入图片描述

下图是我写的一个 HTTP 框架中的执行某个方法的序列图。这个图描述了我们在调用 InterceptorFactory类的 loadInterceptors() 方法的时候,所涉及到的类之间的调用关系。

在这里插入图片描述

另外,国内一般更喜欢称呼序列图为"时序图"。

我觉得称呼 Sequence Diagram 为时序图或者序列图都是没问题的,不用太纠结。

哪些场景下需要查看类的时序图?

我们在很多场景下都需要时序图,比如说:

如何使用 IDEA 根据类中方法生成时序图?

通过 SequenceDiagram 这个插件,我们一键可以生成时序图。

并且,你还可以:

点击时序图中的类/方法即可跳转到对应的地方。

从时序图中删除对应的类或者方法。

将生成的时序图导出为 PNG 图片格式。

安装

我们直接在 IDEA 的插件市场即可找到这个插件。我这里已经安装好了。

如果你因为网络问题没办法使用 IDEA 自带的插件市场的话,也可以通过IDEA 插件市场的官网手动下载安装。

在这里插入图片描述

简单使用

选中方法名(注意不要选类名),然后点击鼠标右键,选择 Sequence Diagram 选项即可!

在这里插入图片描述

配置生成的序列图的一些基本的参数比如调用深度之后,我们点击 ok 即可!

在这里插入图片描述

你还可以通过生成的时序图来定位到相关的代码,这对于我们阅读源码的时候尤其有帮助!

在这里插入图片描述

时序图生成完成之后,你还可以选择将其导出为图片。

在这里插入图片描述

加载全部内容

相关教程
猜你喜欢
用户评论