最近栈长发现 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. D3.js画思维导图(转)

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

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

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

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

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

  5. LOVO学习之思维导图和文档编辑器

    思维导图——是一种图示笔记方法,一种图示笔记工具,一个思考的利器.能将放射性思考具体化,帮助人们理解和记忆事物. 思维导图绘制规则:1,在纸的正中央用一个彩色图像或者符号开始画思维导图. 2,把所有主 ...

  6. 强大的 10款 Mac 思维导图和流程图软件推荐

    本文首发于[风云社区 SCOEE],想了解更多mac软件相关内容,可到[风云社区 SCOEE] 今天和大家分享思维导图和流程图工具,思维导图软件可以说应用非常的广,无论是设计工作.开发工作.管理工作都 ...

  7. 2019年Java并发精选面试题,哪些你还不会?(含答案和思维导图)

    Java 并发编程 1.并发编程三要素? 2.实现可见性的方法有哪些? 3.多线程的价值? 4.创建线程的有哪些方式? 5.创建线程的三种方式的对比? 6.线程的状态流转图 7.Java 线程具有五中 ...

  8. 面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)

    Redis 面试题 1.什么是 Redis?. 2.Redis 的数据类型? 3.使用 Redis 有哪些好处? 4.Redis 相比 Memcached 有哪些优势? 5.Memcache 与 Re ...

  9. 【转】面试还搞不懂redis,快看看这40道Redis面试题(含答案和思维导图)

    ———————————————— 版权声明:本文为CSDN博主「程序员追风」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog. ...

  10. 18道kafka高频面试题哪些你还不会?(含答案和思维导图)

    前言 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处 ...

随机推荐

  1. Maven模块聚合

    一个Maven工程中一般会有很多模块组成,为了构建的方便通常想一次构建多个模块,Maven聚合这一特性就是为该需求服务的. 假设我们有account-email和account-persist两个模块 ...

  2. thinkphp留言板例子(多条件查询)

    登录: login.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  3. Replication的犄角旮旯(四)--关于事务复制的监控

    <Replication的犄角旮旯>系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Repli ...

  4. Redis笔记(七)Java实现Redis消息队列

    这里我使用Redis的发布.订阅功能实现简单的消息队列,基本的命令有publish.subscribe等. 在Jedis中,有对应的java方法,但是只能发布字符串消息.为了传输对象,需要将对象进行序 ...

  5. firework便捷截LOGO

    1.魔术棒选空白部分 2.按delete键 3.符合画布

  6. Java学习笔记——内部类及其调用方法

    一.static内部类的static方法 public class Test0719_Inner_Test { public static void main(String[] args) { //s ...

  7. VM虚拟机上 实现CentOS 6.X下部署LVS(NAT)+keepalived实现高性能高可用负载均衡

    一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 1 准备工作 a) 虚拟机上安装CentOS6.x操作系统,参考一下博客内容 http://www.cnblogs.com/seesea125 ...

  8. 2016年团体程序设计天梯赛-决赛 L1-7. 到底是不是太胖了(10)

    据说一个人的标准体重应该是其身高(单位:厘米)减去100.再乘以0.9所得到的公斤数.真实体重与标准体重误差在10%以内都是完美身材(即 |真实体重-标准体重| < 标准体重x10%).已知市斤 ...

  9. Linux的发行版,不同发行版之间的联系和区别

    Linux 主要作为Linux发行版(通常被称为"distro")的一部分而使用.这些发行版由个人,松散组织的团队,以及商业机构和志愿者组织编写.它们通常包括了其他的系统软件和应用 ...

  10. blob canvas img dataUrl的互相转换和用处

    blob:代表了一段二进制数据 初始化:var blob = new Blob(array,option)//其中array里面可以包含任意类型对象,option指数据类型如array是['<h ...