plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册title PlantUML 参考手册 date 2020 03 0315 37 35tags UML 手册 categories 手册 UMLPlantUML 参考手册前言 UML 中的关系主要分为六种 关联 association 聚合 aggregation 组合 composition 依赖 dependency 使用泛化 generalizati 继承 inheritanc

title: PlantUML参考手册

date: 2020-03-03 15:37:35

tags:

– UML

– 手册

categories:

– 手册

– UML

PlantUML参考手册

前言

UML中的关系主要分为六种:

关联(association)

聚合(aggregation)

组合(composition)

依赖(dependency)/使用

泛化(generalization)/继承(inheritance)

实现(realization)

关系

PlantUML中的表示方法

样式

依赖关系

plantuml 依赖_PlantUML参考手册

关联关系

plantuml 依赖_PlantUML参考手册

聚合关系

o–

plantuml 依赖_PlantUML参考手册

组合关系

*–

plantuml 依赖_PlantUML参考手册

实现关系

plantuml 依赖_PlantUML参考手册

泛化/继承关系

plantuml 依赖_PlantUML参考手册

依赖关系

简单理解就是在某个方法里通过传参、返回值、成员变量、局部变量的方式用到了某个类

Java表达方式

class ImageLoader{

loadImage(ImageInfo info)

}

class ImageInfo{

}

UML类图表达方式

使用UML类图表示该关系:用实心箭头+虚线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

//ImageLoader 依赖/使用

PlantUML中的表示方法:ImageInfo

关联关系

简单理解就是类里面作为属性引用了另一个类

Java表达方式

class Window {

public WindowManager mWindowManager

}

class WindowManager{

}

UML类图表达方式

使用UML类图表示该关系:用实心箭头+实线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:WindowManager

聚合关系

​表示整体和部分,一个类属性使用列表保存很多个另一个类对象(可通过List、set、数组等等集合)

Java表达方式

class Company{

List mDepartments

}

class Department{

}

UML类图表达方式

使用UML类图表示该关系:用空心菱形+实线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:Company o– Department:聚合关系

组合关系

相比聚合更加紧密的关系,生死与共,不能单独存在

Java表达方式

class Bird{//小鸟

Wing mWing;//翅膀

}

class Wing{//翅膀

}

UML类图表达方式

使用UML类图表示该关系:用实心菱形+实线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:Bird *– Wing:组合关系

泛化/继承关系

用来表示类之间的继承关系

Java表达方式

abstract class Factory{

abstract makeProduct()

}

class PhoneFactory extends Factory{

}

class CarFactory extends Factory{

}

UML类图表达方式

使用UML类图表示该关系:用空心箭头+实线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:Factory

实现关系

用来表示一个类实现某个一个接口

Java表达方式

interface IColorDraw{

draw()

}

class RedColorDraw{

draw()

}

class BlueColorDraw{

draw()

}

UML类图表达方式

使用UML类图表示该关系:用空心箭头+虚线表示

plantuml 依赖_PlantUML参考手册

PlantUML代码表达方式

PlantUML中的表示方法:IColorDraw

完整的PlantUML表示

UML类图

plantuml 依赖_PlantUML参考手册

PlantUML代码

@startuml

class ImageLoader{

loadImage(ImageInfo)

}

class ImageInfo{

}

ImageInfo <.. imageloader :>

class Window {

-WindowManager mWindowManager

}

class WindowManager

WindowManager

class Company

class Department

Company o– Department:聚合关系

class Bird

class Wing

Bird *– Wing:组合关系

abstract class Factory

class PhoneFactory

class CarFactory

Factory

Factory

interface IColorDraw{

draw()

}

class RedColorDraw{

draw()

}

class BlueColorDraw{

draw()

}

IColorDraw

IColorDraw

@enduml

关系上的标识

在关系之间使用标签来说明时, 使用 :后接 标签文择本地图片字。对元素的说明,你可以在每一边使用 “” 来说明.

plantuml 依赖_PlantUML参考手册

@startuml

Class01 “1” *– “many” Class02 : contains

Class03 o– Class04 : aggregation

Class05 –> “1” Class06

@enduml

在标签的开始或结束位置添加< 或 >以表明是哪个对象作用到哪个对象上。

plantuml 依赖_PlantUML参考手册

@startuml

class Car

Driver – Car : drives >

Car *- Wheel : have 4 >

Car — Person : < owns

@enduml

定义可访问性

一旦你定义了域或者方法,你可以定义 相应条目的可访问性质。

表示方式

描述属性时的样式

描述方法时的样式

代表的访问标识符

plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册

private

#

plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册

protected

~

plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册

package private

+

plantuml 依赖_PlantUML参考手册

plantuml 依赖_PlantUML参考手册

public

例:

plantuml 依赖_PlantUML参考手册

@startuml

class Dummy {

-field1

#field2

~method1()

+method2()

}

@enduml

抽象与静态

通过修饰符{static}或者{abstract},可以定义静态或者抽象的方法或者属性。这些修饰符可以写在行的开始或者结束。也可以使用{classifier}这个修饰符来代替{static}.

plantuml 依赖_PlantUML参考手册

@startuml

class Dummy {

{static} String id

{abstract} void methods()

}

@enduml

备注和模板

模板通过类关键字(“<>”)来定义你可以使用note left of , note right of , note top of , note bottom of这些关键字来添加备注。你还可以在类的声明末尾使用note left, note right,note top, note bottom来添加备注。此外,单独用note这个关键字也是可以的,使用 .. 符号可以作出一条连接它与其它对象的虚线。

plantuml 依赖_PlantUML参考手册

@startuml

class Object << general >> /'<>’/

Object

/’方式1:note top of 名称 : 内容….’/

note top of Object : In java, every class\nextends this one.

/’声明一个备注格式:

note “内容” as 备注名称

‘/

note “This is a floating note” as N1

note “This note is connected\nto several objects.” as N2

/’方式2:名称 .. 备注名称’/

Object .. N2

N2 .. ArrayList

/’方式3: 在声明类下一行用 note left: 内容….

left 表示标签显示在左侧

right 表示显示在右侧

‘/

class Foo

note left: On last defined class

@enduml

抽象类和接口

用关键字abstract或abstract class来定义抽象类。抽象类用斜体显示。 也可以使用interface, annotation 和 enum关键字。

plantuml 依赖_PlantUML参考手册

@startuml

abstract class AbstractList /’定义抽象类’/

abstract AbstractCollection

interface List /’定义接口’/

interface Collection

List

Collection

Collection

AbstractCollection

AbstractList

class ArrayList {

Object[] elementData

size()

}

/’定义枚举’/

enum TimeUnit {

DAYS

HOURS

MINUTES

}

annotation SuppressWarnings

@enduml

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231709.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据结构导论第一遍重要吗_数据结构导论自考2018

    数据结构导论第一遍重要吗_数据结构导论自考2018根据以前的经验发现,看一本书,如果一天看一点,一天看一点,到最后也就看了一点点,所以这些天我决定吃个大力丸把《数据结构导论》这本书看完。      我很少能这样看完这样的一本厚厚的书的,如果是以前,可能得连续看半个月以上呢,就是不知道效果怎样而已,这个先不管,毕竟这些天也挺难熬的,大家都知道看书会困的嘛!所以睡不着的时候,床前备一本书,有备无患。这样,你会看到有些人的书上留了很多哈喇子的印记

    2022年8月18日
    10
  • 易文档-快速编写专业漂亮的API文档,产品文档,使用手册

    易文档https://easydoc.top让您轻松编写和维护高质量的文档。从需求文档、API文档、部署文档到使用手册,多种定制文档编辑器,满足您整个开发周期需求;支持接口在线测试,一键生成mock配置。极致的编写体验,优雅的排版,让文档成为一种乐趣。查看示例文档查看使用技巧…

    2022年4月5日
    344
  • crontab每秒执行一次命令_crontab每天1点执行

    crontab每秒执行一次命令_crontab每天1点执行根据上图,在linux中crontab的最小执行单位是分钟,没法直接实现单位秒的运行,所以得通过其他方式来处理。思路:假如每15秒运行一次,那就运行一次后睡眠15秒,15秒后再睡眠10秒,依次类推。crontab-e*/1****/root/python.sh*/1****sleep15;/root/python.sh*/1****sleep30…

    2022年10月7日
    4
  • ## HTTP系列之Accept-Encoding和Content-Encoding[通俗易懂]

    ## HTTP系列之Accept-Encoding和Content-Encoding[通俗易懂]前端的性能优化是一个永不停歇的路程,优化的方式也不一而足,今天重点不在于介绍性能优化,而是介绍性能优化的其中一种方式,通过压缩来节省http请求的流量,实现过程中依赖http中header部分的两个字段,Accept-Encoding和Content-EnCoding(分别来自request的header和response的header)。前两天排查一个问题是注意到项目里ssr时返回的页面竟然没…

    2022年7月15日
    24
  • Struts2 页面url请求怎样找action

    Struts2 页面url请求怎样找action

    2022年1月30日
    47
  • sklearn库的功能_numpy库

    sklearn库的功能_numpy库sklearn是目前python中十分流行的用来实现机器学习的第三方包,其中包含了多种常见算法如:决策树,逻辑回归、集成算法等。即使你还不太懂机器学习的具体过程,依旧可以使用此库进行机器学习操作,因为其对各种算法进行了良好的封装,可以在不了解算法实现过程的情况下使用算法,所以可以把sklearn库当作学习过程中的一个过度,如果你想快速建立一个模型,这也是一个不错的选择。数据导入skle…

    2022年10月17日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号