最近面试的时候一个面试官指出了我对系统架构没有固定的认知,推荐我去好好学习一下UML这个语言,我花了几个小时在B站上看了UML这门课,下面是我对UML最佳实践的一点心得
UML是什么 #
首先它是一门语言,全名叫 Unified Modeling Language,翻译过来就是统一建模语言,首先为什么我们思考一下为什么我们需要这么一门语言。
最开始的C语言是面对过程的,我们想做一个什么东西,直接去写就好了,等我们到了比如Java这些面对对象的语言的时候,我们就要思考怎么去建模,所以UML就是在这种情况被创建出来的
怎么用 #
首先UML主要帮助我们设计一个系统,那一般的流程是什么呢
- 确定用例 -> 用例图
- 确定类模型 -> 类图
- 确定流程 -> 时序图
- 确定细节 -> 状态图
软件选择 #
其实UML很核心的一个地方就是用可视化的图表展示出你的系统架构,视频里面使用的IBM Rational Rose这个软件,的确拖拽非常方便,但是有个问题就是只支持window
,目前我主要操作系统是Ubuntu和Mac,所以我需要一个跨平台的软件
我尝试了跨平台的dia
,或者目前一些主流的在网页上拖拽的软件来完成UML图,但是这些都有一个痛点,不方便管理,而且修改起来也比较麻烦,然后有人推荐使用plantuml,不但跨平台,而且UML图是根据代码自动生成
也就是说你不需要拖拽,你可以像写代码一样画UML图,更主要的是这个IDEA上面都有插件集成,你只要安装好插件就可以在IDE里面写UML代码生成你想要的图了
安装流程 #
首先在插件库查找plantuml intergration
,然后点击安装,接下面安装绘图课
Mac
brew install graphviz
Ubuntu
sudo apt-get install -y graphviz
接下来你重启IDEA然后随便新建一个文件,输入下面代码
@startuml
Alice -> Bob: test
@enduml
点开侧边栏PlantUML就能看到生成的UML图了
总结 #
以前我只知道IDEA能写代码,后面我知道IDEA能执行SQL,我就把他当成SQL管理工具,后面我发现他也能写Markdown,我就放弃的专业markdown软件,如今我发现他也能写UML,IDEA真的太全能了
PS:这篇博客简单的介绍了我对UML最佳实践的配合,没有涉及到PlantUML
的具体使用方法,可以看我的使用UML实现