PlantUML——类图(持续更新)

news2024/10/2 14:21:03

前言

在分析代码流程中,我们常常会使用到各种UML图,例如用例图、时序图和类图等,以往使用ProcessOn或亿图图示等工具,但是这些工具难以规范化,有没有一种用代码来生成图形的工具呢?
刚好在出差的晨会中机缘巧合下认识了PlantUML,这不赶快学习一波。该博文用于记录自己的常用项,用于快速生成UNL图形。
plantuml官网

类元素

接口

用关键字interface来定义接口。

@startuml
interface List
@enduml

在这里插入图片描述

抽象类

用关键字abstractabstract class来定义抽象类。抽象类用斜体显示。

@startuml
abstract class AbstractList
abstract AbstractCollection
@enduml

在这里插入图片描述

枚举

enum来定义枚举。

@startuml
enum TimeUnit {
  DAYS
  HOURS
  MINUTES
}
@enduml

在这里插入图片描述

访问控制

针对属性和方法的可访问性控制。属性是空心的,方法是实心的。

可访问性字符图标(属性)图标(方法)
public+public在这里插入图片描述
protected#在这里插入图片描述在这里插入图片描述
private-在这里插入图片描述在这里插入图片描述

属性和成员函数

@startuml
class Dummy {
 +int field0;
 #string field1;
 -double field2;
 
 +void method0();
 #double method1();
 -char method2();
}
@enduml

在这里插入图片描述

类关系

关系的强弱:泛化>实现>组合>聚合>关联>依赖。

关系符号展示
泛化<|-在这里插入图片描述
实现<|.在这里插入图片描述
组合*-在这里插入图片描述
聚合o-在这里插入图片描述
关联<-在这里插入图片描述
依赖<.在这里插入图片描述

箭头方向

--..代表垂直方向;-.代表水平方向。或者在--..之前使用leftrightupdown来指定方向。

注释

'开头的行为注释。

'https://plantuml.com/sequence-diagram

后记

随着对复杂问题的处理,结合图形能做到事半功倍的效果。可笑的是在上学期间对这些敬而远之,而如今缺仿佛如获至宝。果然个人的局限性以及教育的滞后性会让人感慨万分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/983244.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

神策分析 2.5 上线「经营分析」:可视化分析能力重磅升级!

近日&#xff0c;神策数据发布了全新的神策分析 2.5 版本&#xff0c;该版本以经营分析为主题&#xff0c;支持分析模型与外部数据的融合性接入&#xff0c;构建全域数据融合模型&#xff0c;并提供统一、便捷的指标及可视化能力&#xff0c;实现从用户到经营的全链路、全场景分…

【公网远程手机Android服务器】安卓Termux搭建Web服务器

目录 概述 1.搭建apache 2.安装cpolar内网穿透 3.公网访问配置 4.固定公网地址 5.添加站点 概述 Termux是一个Android终端仿真应用程序&#xff0c;用于在 Android 手机上搭建一个完整的Linux 环境&#xff0c;能够实现Linux下的许多基本操作&#xff0c;不需要root权限…

归并排序 Merge Sort

归并排序的基本思想是什么&#xff1f; 采用分治法&#xff08;Divide and Conquer&#xff09;&#xff0c;递归将待排序的数组平均分成两个子数组&#xff0c;直到子数组长度为 0 或 1&#xff0c;这是 分 Divider。再将排序好的两个子数组合并为一个有序数组&#xff0c;这…

AD学习笔记

1快捷键 A 各种对齐 L 切换顶层底层 右键联合 元器件的锁定 N 连线控制是否显示 2原理图和pcb交叉选择 封装重叠警告 在规则中修改

Tcp协议特点

目录 确认应答&#xff08;ACK&#xff09; 超时重传 建立连接-三次握手 断开连接-四次挥手 Tcp特点主要是分为四点&#xff1a;有连接&#xff0c;可靠传输&#xff0c;面向字节流&#xff0c;全双工。 这里我们主要介绍可靠传输 确认应答&#xff08;ACK&#xff09; …

EasyFalsh移植使用方法

参考&#xff1a;https://blog.csdn.net/Mculover666/article/details/105510837 注意&#xff1a; 这里说的修改默认环境变量后修改环境变量版本号就自动重新写入到flash这句话是有问题的&#xff0c;要开启上面【#define EF_ENV_AUTO_UODATE】宏定义后才会实现该功能&#…

Maven 必备技能:MAC 系统下 JDK和Maven 安装及环境变量配置详细讲解

开发中难免因系统问题或者版本变更反复折腾JDK和Maven环境变量&#xff0c;干脆写个笔记备忘个&#xff0c;也方便小伙伴们节省时间。 JDK安装与环境变量配置 1.官网下载jdk mac安装包: Java Downloads | Oracle " https://www.oracle.com/java/technologies/downloads…

携程网关的架构设计-日流量200亿

一、概述 类似于许多企业的做法&#xff0c;携程 API 网关是伴随着微服务架构一同引入的基础设施&#xff0c;其最初版本于 2014 年发布。随着服务化在公司内的迅速推进&#xff0c;网关逐步成为应用程序暴露在外网的标准解决方案。后续的“ALL IN 无线”、国际化、异地多活等…

【爬虫笔记】Python爬虫简单运用爬取代理IP

一、前言 近些年来&#xff0c;网络上的爬虫越来越多&#xff0c;很多网站都针对爬虫进行了限制&#xff0c;封禁了一些不规则的请求。为了实现正常的网络爬虫任务&#xff0c;爬虫常用代理IP来隐藏自己的真实IP&#xff0c;避免被服务器封禁。本文将介绍如何使用Python爬虫来…

day 1

使用cut截取出Ubuntu用户的家目录&#xff0c;要求&#xff1a;不能使用":"作为分割 grep ^ubuntu /etc/passwd|cut -d / -f 2,3 xmind

芒果app逆向分析 (二)

接着上文,我们发现请求后的结果是加密的状态,我们需要解密成明文看数据。 前面提到无法使用frida,直接上xposed. 直接就hook出来了?? key = "xkSHHy5DQzYwbZS32zJBDyrHCHWMDGDk" iv = "4yXhd2Ta4m6dif54"堆栈记录下,方便后续使用: 调用堆栈:at ja…

网络技术十七:IP路由原理

IP路由原理 引入 路由器负责将数据报文在逻辑网段间进行转发 路由是指导路由器如何进行数据报文发送的路径信息 每台路由器都有路由表&#xff0c;路由存储在路由表中 路由环路是由错误的路由导致的&#xff0c;它会造成IP报文在网络中循环转发&#xff0c;浪费网络带宽 路…

mac项目流程管理 OmniPlan Pro 4中文 for Mac

OmniPlan Pro 4是一款专业的项目管理软件&#xff0c;提供了强大的项目流程管理功能&#xff0c;帮助用户规划、执行和监控项目的各个阶段和任务。 以下是OmniPlan Pro 4中的项目流程管理功能&#xff1a; 1. 项目计划&#xff1a;用户可以使用OmniPlan Pro 4创建项目计划。软…

SAP MM学习笔记27- 购买依赖(采购申请)

前面已经努力的学习了 购买发注&#xff0c;入库&#xff0c;请求书照合 等功能&#xff0c;还是蛮多内容的哈。 剩下的功能&#xff0c;比如 右侧的 所要量决定&#xff0c;供给元决定&#xff0c;仕入先选择 还没学。 从这章开始&#xff0c;要开始学习它们了。 这一章先来…

【案例分享】H3C设备配置端口镜像

简介 本案例介绍本地端口镜像的配置方法。 组网需求 某公司内部各部门使用不同网段的IP地址&#xff0c;其中研发部使用10.1.1.0/24网段&#xff0c;市场部使用12.1.1.0/24网段。现要求通过配置本地端口镜像功能&#xff0c;使用数据监测设备对研发部和市场部访问Internet的流…

java对接webservice接口的四种方式

这两天一直在做外系统对接&#xff0c;对方的接口是webservice的形式&#xff0c;调用起来有些蛋疼&#xff0c;于是在这里记录一下我尝试过的调用WebService的三种方式。 方式一&#xff1a;以HttpURLConnection的方式调用 String url "http://127.0.0.1/cwbase/Service…

【LeetCode】297.二叉树的序列化与反序列化

题目 序列化是将一个数据结构或者对象转换为连续的比特位的操作&#xff0c;进而可以将转换后的数据存储在一个文件或者内存中&#xff0c;同时也可以通过网络传输到另一个计算机环境&#xff0c;采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序列化…

百度智能云千帆大模型丨未来人手必备的代码助手

文章目录 1. 前言2. 千帆大模型平台3. 十分友好的功能4. comate代码助手5. 总结 1. 前言 我之前给大家推荐过Poe这个网站&#xff0c;它用的人比较少&#xff0c;但一旦接触后会发现它其实挺强大的。 因为它是一个可以同时支持好几个大模型的在线聚合平台。常用的GPT4&#x…

idea:java: Compilation failed: internal java compiler error

java: Compilation failed: internal java compiler error错误 检查下面2个即可&#xff1a;

智能转码技巧大揭秘,轻松实现视频转码!

你是否曾经遇到过需要将视频进行转码&#xff0c;但却被繁琐的步骤和复杂的参数困扰&#xff1f;现在&#xff0c;我们教你如何巧用智能转码&#xff0c;让视频转码变得轻松简单&#xff01; 首先第一步&#xff0c;我们要进入媒体梦工厂主页面&#xff0c;在板块栏里选择“智…