IntelliJ IDEA 还能画思维导图,果然最强 IDE!

最近栈长发现 IntelliJ IDEA 居然还能画思维导图,太牛逼了!
当然这得借助 IDEA 的 UML 插件,因为它本身也是一个 UML 图,所以这篇就从 UML 图开撕,看 IDEA 怎么画思维导图,顺便带大家了解下什么是 UML 图。
什么是 UML?
UML 全称:Unified Modeling Language,统一建模语言,由 OMG 组织(Object Management Group 对象管理组织)于 1997 年发布。
UML 是面向对象设计的建模工具,是独立于任何具体程序设计语言,UML 可以通过简单又直观的语言来定义图形。
如果你还不知道是什么 UML 图,举个例子吧,比如说我们经常遇到的设计模式必须用到的类图,以及业务流程用到的时序图,这些经典的 UML 图基本已经深入人心了。
其实,UML 图远不止这些,UML 图还包括序列图、用例图、类图、活动图、协作图、组件图、对象图、状态图、交互图、部署图等。
在线画 UML
我们可以通过 PlantUML 网站在线画 UML 图,PlantUML 是一个开源项目,支持快速绘制各种 UML 图。
PlantUML 网址:

只要熟悉 UML 语言的语法,就能轻松画出这种类图。
IDE 插件画 UML
PlantUML 同时提供了 Eclipse 和 IntelliJ IDEA 插件,本文以 IDEA 为例进行演示,可以在 IDEA Plugins 里面搜索 "PlantUML" 安装即可,更多 IDEA 插件及教程关注公众号Java技术栈回复 "IDEA" 获取。

安装完成之后,通过菜单 New > PlantUML File 来创建一个 UML 图:

点击菜单之后,会让你输入 UML 图形文件名,以及选择 UML 图类型。

从这里面就能看到所有能创建的 UML 图类型,翻到下面还有组织架构图、原型图,以及现在比较流行的思维导图,不过画这些很突兀,不是很推荐,下面会给大家演示。
比如说我们创建一个比较经典的类图(Class):

左边就是默认生成的 UML 类图源码,右边是 UML 图形生成区,不过报错了,说找不到 Graphviz 这个依赖,那就需要安装一下。
Graphviz 下载地址:
上面提供了各个操作系统的安装方式,安装完成之后再重启 IntelliJ IDEA 即可。
重启之后,可以看到经典的 UML 类图:

PlantUML 插件还能生成以下 UML 图,及带默认模板。
时序图:

用例图:

活动图:

状态图:

思维导图:

牛逼吧,十几行代码生成一个思维导图,不过这个思维导图外观比较经典,适合做一些简单的思维导图,其他更复杂的思维导图还是建议用其他专业的工具会比较方便。
组织架构图:

原型图:

可以看到有些图并不是很适合用 UML 来画,UML 都是用代码来生成图形,有一定的学习成本,另外,相比市面上的其他画图工具,不论是美观、还是效率上,都还有有差距的。当然,如果你不要求美观,图形简单,UML 还是能满足你的。
本文只是介绍如何通过网页和 IDEA 插件来画 UML 图,UML 语法和设计并不是本文重点,有兴趣的可以网上搜索学习,关注公众号Java技术栈,在后台回复关键字 "PlantUML" 也可以获取一份完整版中文教程。
IDEA 香是香,可能你会说用它要收费,其实它也有开源的社区版本,收费的专业版也很容易申请到激活码,关注公众号Java技术栈,回复:IDEA,可以阅读我分享过的获取正版 IDEA 激活码的教程,很多粉丝都反馈说轻松得到了,感兴趣的都可以去申请,不能太容易了。
最后,如果本文对你有帮助,点个在看鼓励一下哦!也欢迎分享转发给更多有需要的朋友~
你工作中有用到 UML 图吗?欢迎分享~
版权申明:本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重他人劳动成果和知识产权。
近期热文推荐:
1.600+ 道 Java面试题及答案整理(2021最新版)
2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!
3.阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!
4.Spring Cloud 2020.0.0 正式发布,全新颠覆性版本!
觉得不错,别忘了随手点赞+转发哦!
IntelliJ IDEA 还能画思维导图,果然最强 IDE!的更多相关文章
- 在Emacs中画思维导图
是的,你没有看错.其实,不只画思维导图,画结构图.流程图等,都可以.那怎么办呢?就是借助 Graphviz . Graphviz 可以方便地表达概念之间的联系,因此用它画思维导图是可行的,再加上它是个 ...
- 怎么用MindManager自带的模板和设计画思维导图
小编知道大家平时工作学习都很忙,思维导图能完成的效率越高越好.所以今天,小编就为大家介绍两个能高效使用思维导图软件完成制作思维导图的小技巧.保证内容充实美观,还不费时间. 一.使用模板 打开MindM ...
- D3.js画思维导图(转)
思维导图的节点具有层级关系和隶属关系,很像枝叶从树干伸展开来的形状.在前面讲解布局的时候,提到有五个布局是由层级布局扩展来的,其中的树状图(tree layout)和集群图(cluster layou ...
- 用MindManager画思维导图的好处有哪些?
大家都听说过思维导图吧?有没有将这样一种图形思维工具真正运用到我们的日常生活中去呢?是否真的知道思维导图怎么用呢?今天小编就来给大家讲一讲,思维导图怎么用. 老规矩,先给大家讲一讲小编用的软件跟系统, ...
- 【原创】Mindjet Manager思维导图软件云服务功能的使用方法
注:自己使用了mindjet manager来画思维导图已经有一段时间了,无疑mindjet manager的功能是很强大的,但是最近因为自己两台电脑都安装了mindjet manager,每 ...
- 【xmind】 使用 Java 生成思维导图
前言 在日常的工作与学习中,我们经常会使用思维导图这个工具,来把抽象而又无形的思考转换成有形并且具体的图像,是理清思路,梳理逻辑的一大神器. 准确的说,思维导图并不是一个具体的工具,而是一种方法.是道 ...
- 用过MindManager后才知道思维导图原来这么简单
哈喽大家好!时间过得真是太快了,一眨眼这一年就接近尾声了,相信我们都度过了不平凡但十分充足的一年,不知道大家在2020年中有没有令自己满意的收获呢? 相信大家各自都有精彩的收获,我们不妨把它们总结一下 ...
- 思维导图软件iMindMap的使用方法
从手绘的思维导图再到各种各样的思维导图的软件,思维导图的高效性大家都体会到了.思维导图软件iMindMap在众多导图软件中是最受欢迎的之一,下面就给大家分享一下思维导图怎么画: 首先我要教给大家的是如 ...
- Web思维导图实现的技术点分析(附完整源码)
简介 思维导图是一种常见的表达发散性思维的有效工具,市面上有非常多的工具可以用来画思维导图,有免费的也有收费的,此外也有一些可以用来帮助快速实现的JavaScript类库,如:jsMind.KityM ...
随机推荐
- Openstack (keystone 身份认证)
keystone简介 keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户权限的定义等等.云 ...
- 基于线段树的RMQ
RMQ(Range Minimum/Maximum Query)区间最值查询,即给出长度为n的数组A,以及m组询问s.t(s<=t<=n),返回区间[s,t]中的最值. 基于线段树的方法实 ...
- Codeforces Round #626 Div2 D. Present(位掩码,二分)
题目链接:https://codeforces.com/contest/1323/problem/D 题意:给了大小为4e5的数组a,其中1<=ai<=1e7.求所有点对和的异或和,即: ...
- Codeforces错题本
为什么我这么菜啊QAQ Codeforces 1364C
- Educational Codeforces Round 91 (Rated for Div. 2) B. Universal Solution
题目链接:https://codeforces.com/contest/1380/problem/B 题意 你在和一个机器人玩石头剪刀布,给出一个长为 $n$ 的出拳序列,机器人会从某一处开始出拳 $ ...
- c语言实现--单向循环链表操作
1,什么叫单向循环链表.单向循环链表是指在单链表的基础上,表的最后一个元素指向链表头结点,不再是为空. 2,由图可知,单向循环链表的判断条件不再是表为空了,而变成了是否到表头. 3,链表的结点表示 1 ...
- Educational Codeforces Round 95 (Rated for Div. 2) C. Mortal Kombat Tower (DP)
题意:你和基友两人从左往右轮流打怪兽,强怪用\(1\)表示,垃圾用\(0\)表示,但基友比较弱,打不过强怪,碰到强怪需要用一次魔法,而你很强,无论什么怪都能乱杀,基友先打,每人每次至少杀一个怪兽,最多 ...
- Codeforces Round #515 (Div. 3) B. Heaters (贪心)
题意:有\(n\)个桩子,\(1\)表示该位置有一个火炉,可以使两边距离为\(r\)的范围照亮,问最少使用多少炉子使得所有范围都被照亮. 题解:贪心,首先我们从\(r\)位置开始向左找,如果找到了就记 ...
- [Golang]-4 错误处理、Panic、Defer
目录 错误和异常 案例 Panic Defer 使用 defer+recover 来处理错误 参考文章: Go 语言使用一个独立的·明确的返回值来传递错误信息的.这与使用异常的 Java 和 Ruby ...
- Django用户注册、登录
一.用户注册 1 ''' 2 注册的表单模型 3 forms.py 的例子 4 ''' 5 6 from django import forms #表单功能 7 from django.contrib ...