用代码画UML类图快餐教程-阿里云开发者社区

开发者社区> lusing> 正文

用代码画UML类图快餐教程

简介: 之前我们讨论了graphviz的dot图,mermaid画流程图和时序图,plantuml画时序图。 plantuml除了可以画时序图之外,还可以画UML类图。
+关注继续查看

之前我们讨论了graphviz的dot图,mermaid画流程图和时序图,plantuml画时序图。

plantuml除了可以画时序图之外,还可以画类图。就跟写代码一样,直接上例子:

@startuml

interface Tree{
    + Tree getParent()
    + Object getPayload()
    + Tree getChild(int i)
    + int getChildCount()
    + String toStringTree()
}
interface SyntaxTree{
    + Interval getSourceInterval()
}
interface ParseTree{
    + <T> T accept(ParseTreeVisitor<? extends T> visitor)
    + String getText()
    + String toStringTree(Parser parser)
}
interface RuleNode{
    + RuleContext getRuleContext()
}
interface TerminalNode{
    + Token getSymbol()
}
class RuleContext
class ParserRuleContext

Tree <|-- SyntaxTree
SyntaxTree <|-- ParseTree
ParseTree <|-- RuleNode
ParseTree <|-- TerminalNode
RuleNode <|.. RuleContext
RuleContext <|-- ParserRuleContext

@enduml

简单介绍一下:

  • interface定义接口,属性:公开的前面加"+",私有的之前加"-"
  • class定义类
  • 关系定义:

    • 泛化,Generalization:<|--
    • 关联,Association:<--
    • 组合,Composition:*--
    • 聚合,Aggregation:o--
    • 实现,Realization:<|..
    • 依赖,Dependency:<..

来看看上面代码的效果吧:

Antlr_tree

更详细的信息,请参考官方文档:http://plantuml.com/class-diagram

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10099 0
python写一段脚本代码自动完成输入(目录下的所有)文件的数据替换(修改数据和替换数据都是输入的)【转】
转自:http://blog.csdn.net/lixiaojie1012/article/details/23628129     初次尝试python语言,感觉用着真舒服,简单明了,库函数一调用就OK了 [python] view plain copy 在CODE上查看代码片派生到我的代码片 import sys,os,os.
561 0
Java 7: 全面教程-1.2 Java代码规格
写正确的可运行的Java程序固然重要,但是写出的代码方便阅读和维护也是相当重要的。普遍相信一个软件80%的时间都花在维护上。而且,程序员的变动率非常的高,所以很有可能是别人在维护你的代码。如果你留下的程序源代码是清楚且简单易懂的,不管是谁都会非常感谢你。
1183 0
ASP.NET C# 用后台代码实现 跨域名访问 返回HTML代码
这份资源  我找了很久 终于找到了!  非常感谢提供这份资源的人,你很牛B! 原链接: http://www.7net.cn/web/sitetech/ASPbiancheng/200908181503.
823 0
代码补全快餐教程(1) - 30行代码见证奇迹
# 代码补全快餐教程(1) - 30行代码见证奇迹 下面是我用30多行代码,包含了很多空行和注释的代码写成的代码补全模型。我们先看看效果吧。 ## 补全效果案例 ### 先来看个比较普通的(Python, Keras) 已知: ``` y_train = keras.utils.to_categorical(y_train, num_classes)\ny_test =
880 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13896 0
[BoUML]生成代码
此处简单介绍一下运用免费的UML工具Bouml生成C++代码。 在BoUML中的各个视图和组件基本有以下的结构:    Project      -> View          -> Diagrams          -> Components   每一个组件,比如类,在其设定对话框中都有一个语言属性。
788 0
中文代码示例教程之Java编程一天入门
以中文编写示例代码的Java入门短教程. Short beginner's tutorial of Java programming with sample codes using Chinese naming.
806 0
+关注
lusing
刘子瑛,阿里系统框架专家。工作十余年,一直对新编程语言、新开发方法、数学与算法相关和并发等相关领域保持浓厚的兴趣。乐于通过技术分享促进新技术。
181
文章
60
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载