一分钟相识什么是类图,并学会用mermaid绘制类图

[复制链接]
发表于 昨天 08:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
💡什么是类图?

类图(Class Diagram)是同一建模语言(UML)中最常用、最紧张的结构图之一。它用于形貌体系中静态结构,展示类、接口以及它们之间的关系。类图以面向对象的头脑为底子,资助开发者可视化地明白、计划和文档化体系的数据模子与业务逻辑。
🦚先来看一个类图示例

Mermaid是一种基于文本的图表绘制工具,可直接在 Markdown 或支持的环境中渲染。
以下示例用 #WordBN 条记软件基于mermaid绘制,该示例展示了一个简单的电商体系类图:
🪐类图示例mermaid代码:

❄️示例图形和代码分析:


  • 继续:`User`是基类,`Customer`继续自`User`(空心三角箭头)。
  • 关联:一个`Customer`拥有多个`Order`(多重性1和0..*)。
  • 组合:`Order`包罗`OrderItem`,使用实心菱形(Mermaid 中用`*--`语法,但此处用`--`加笔墨“包罗”表现组合语义,实际 Mermaid 保举`o--`聚合、`*--`组合)。
  • 实现:`Payment`接口被`CreditCardPayment`实现(虚线空心三角)。
  • 依赖:`Order`使用`Payment`接口的`pay`方法,用虚线箭头`..>`表现。
🗺️类图的焦点元素


  • 类(Class)
        矩形框,通常分三格:

    • 第一格:类名(抽象类用斜体)


    • 第二格:属性(可见性 属性名: 范例,如- name: String)


    • 第三格:方法(可见性 方法名(参数): 返回值范例,如+ getName(): String)

          可见性符号:+public,-private,#protected,~package

  • 接口(Interface)
        与类雷同,但标注`«interface»`,或使用圆角矩形。
  • 关系(Relationships)
        类之间通过连线及箭头表达差别语义:
关系符号表现英文分析关联
实线箭头(或无线)
Association
一个类持有另一个类的引用(如“门生→课程”)
聚合
空心菱形 + 实线
Aggregation
“团体-部分”,部分可独立存在(如“汽车-轮胎”)
组合
实心菱形 + 实线
Composition
“团体-部分”,部分不可独立存在(如“订单-订单项”)
继续(泛化)
空心三角箭头 + 实线(子类指向父类)
Generalization
is-a 关系
实现
空心三角箭头 + 虚线(实现类指向接口)
Realization
接口与实现类
依赖
虚线箭头(一个类使用另一个类作为局部变量/参数)
Dependency
临时性关系,如方法参数
别的尚有多重性标注,如1、0..、1..等,表现数量束缚。
🌟类图的使用场景


  • 体系分析与计划阶段
        业务范畴建模:辨认关键实体(顾客、订单、产物),明确它们之间的关系,作为后续编码的依据。
  • 代码天生与逆向工程
        许多IDE(如IntelliJ、Eclipse)支持从类图自动天生代码骨架,或从代码反向天生类图,便于明白现有体系。
  • 文档化体系架构
        类图可以清楚展示体系的焦点模块、条理结构(如Controller、Service、DAO),方便团队沟通和维护。
  • 计划模式形貌
        经典的计划模式(工厂、单例、观察者等)通常使用类图来直观表达加入者类和交互关系。
  • 数据库建模的辅助
        类图中的恒久化类可以映射为数据库表,关联关系对应外键或关联表。
🚀附录:Mermaid 常用语法速查

[table][tr]关系范例Mermaid 符号示例[/tr][tr][td]继续(泛化)
[/td][td]
  `
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表