最近栈长发现 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 网址:

http://www.plantuml.com/

只要熟悉 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 下载地址:

https://graphviz.org/download/

上面提供了各个操作系统的安装方式,安装完成之后再重启 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 正式发布,全新颠覆性版本!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

IntelliJ IDEA 还能画思维导图,果然最强 IDE!的更多相关文章

  1. 在Emacs中画思维导图

    是的,你没有看错.其实,不只画思维导图,画结构图.流程图等,都可以.那怎么办呢?就是借助 Graphviz . Graphviz 可以方便地表达概念之间的联系,因此用它画思维导图是可行的,再加上它是个 ...

  2. 怎么用MindManager自带的模板和设计画思维导图

    小编知道大家平时工作学习都很忙,思维导图能完成的效率越高越好.所以今天,小编就为大家介绍两个能高效使用思维导图软件完成制作思维导图的小技巧.保证内容充实美观,还不费时间. 一.使用模板 打开MindM ...

  3. D3.js画思维导图(转)

    思维导图的节点具有层级关系和隶属关系,很像枝叶从树干伸展开来的形状.在前面讲解布局的时候,提到有五个布局是由层级布局扩展来的,其中的树状图(tree layout)和集群图(cluster layou ...

  4. 用MindManager画思维导图的好处有哪些?

    大家都听说过思维导图吧?有没有将这样一种图形思维工具真正运用到我们的日常生活中去呢?是否真的知道思维导图怎么用呢?今天小编就来给大家讲一讲,思维导图怎么用. 老规矩,先给大家讲一讲小编用的软件跟系统, ...

  5. 【原创】Mindjet Manager思维导图软件云服务功能的使用方法

        注:自己使用了mindjet manager来画思维导图已经有一段时间了,无疑mindjet manager的功能是很强大的,但是最近因为自己两台电脑都安装了mindjet manager,每 ...

  6. 【xmind】 使用 Java 生成思维导图

    前言 在日常的工作与学习中,我们经常会使用思维导图这个工具,来把抽象而又无形的思考转换成有形并且具体的图像,是理清思路,梳理逻辑的一大神器. 准确的说,思维导图并不是一个具体的工具,而是一种方法.是道 ...

  7. 用过MindManager后才知道思维导图原来这么简单

    哈喽大家好!时间过得真是太快了,一眨眼这一年就接近尾声了,相信我们都度过了不平凡但十分充足的一年,不知道大家在2020年中有没有令自己满意的收获呢? 相信大家各自都有精彩的收获,我们不妨把它们总结一下 ...

  8. 思维导图软件iMindMap的使用方法

    从手绘的思维导图再到各种各样的思维导图的软件,思维导图的高效性大家都体会到了.思维导图软件iMindMap在众多导图软件中是最受欢迎的之一,下面就给大家分享一下思维导图怎么画: 首先我要教给大家的是如 ...

  9. Web思维导图实现的技术点分析(附完整源码)

    简介 思维导图是一种常见的表达发散性思维的有效工具,市面上有非常多的工具可以用来画思维导图,有免费的也有收费的,此外也有一些可以用来帮助快速实现的JavaScript类库,如:jsMind.KityM ...

随机推荐

  1. Spring Cloud与Docker——微服务架构概述

    Spring Cloud与Docker--微服务架构概述 单体应用架构概述 微服务概述 微服务的特性 微服务架构的优点 微服务面临的挑战 微服务的设计原则 单体应用架构概述 传统的服务发布都是采用单体 ...

  2. K8s client 使用

    使用的k8s client包: <dependency> <groupId>io.fabric8</groupId> <artifactId>kuber ...

  3. php小程序-文章发布系统

    php小程序-文章发布系统 一 项目相关视图 二 项目经验 主要用于熟悉php与mysql的相关操作 三 源码下载地址 http://files.cnblogs.com/files/qiujun/ar ...

  4. .Net Core 使用 CSRedisCore 访问 Redis 的哨兵和主从复制

    一.创建Redis服务 运行环境是Window,安装Redis请看:安装教程. 直接开始创建Redis服务,演示就创建两个一主一从,先把安装路径下的 redis.windows.conf 文件复制一份 ...

  5. 年度账单h5 移动端兼容问题以及优化建议(vue)

    定时器 vue实例中定义timer多余,创建的定时器代码和销毁定时器的代码没有放在一起,通常很容易忘记去清理这个定时器,不容易维护:建议使用this.$once('hook:beforeDestory ...

  6. Codeforces Round #316 (Div. 2) D. Tree Requests(dsu)

    题目链接 题意:对于m次询问 求解以vi为根节点 深度为hi的的字母能不能组合成回文串. 思路:暴力dsu找一边 简直就是神技! #include<bits/stdc++.h> #defi ...

  7. 2019HDU多校 Round9

    Solved:3 02 Rikka with Cake (树状数组) #include <bits/stdc++.h> using namespace std; typedef long ...

  8. Codeforces Round #547 (Div. 3) D. Colored Boots (贪心,模拟)

    题意:有两个字符串,两个字符串中的相同字符可以相互匹配,\(?\)可以和任意字符匹配,输出最大匹配的字符数量和它们分别两个字符串中的位置. 题解:很容易贪心,我们先遍历第一个字符串,然后在第二个字符串 ...

  9. 牛客小白月赛28 J.树上行走 (并查集,dfs)

    题意:有\(n\)个点,\(n-1\)条边,每个点的类型是\(0\)或\(1\),现在让你选一个点,然后所有与该点类型不同的点直接消失,问选哪些点之后,该点所在的联通块最大. 题解: 因为选完之后两个 ...

  10. WPF 之路由事件和附加事件(六)

    一.消息驱动与直接事件模型 ​ 事件的前身是消息(Message).Windows 是消息驱动的系统,运行其上的程序也遵循这个原则.消息的本质就是一条数据,这条消息里面包含着消息的类别,必要的时候还记 ...