Mermaid、いい感じのチートシートが見つからなかったので作ります
↑のコード
```mermaid classDiagram %% Original typeの宣言 class Id { -int value } class Name { -string value } class Age { -int value } %% Enum型の宣言 class UserType { Employee Customer Administrator } <<enumeration>> UserType %% <<>> の中は何を書いても通る %% クラス %% クラス内の変数等の書き方は自由(id: Id 等もOK) class User { +Id id +Name name +Age age -UserType type +regist() +greeting() } <<interface>> User class EmployeeUser { +Id id +Name name +Age age +regist() +greeting() } %% 関係性 User <|-- EmployeeUser: extends User o-- Id User o-- Name User o-- Age User o-- UserType ```
記号
https://zenn.dev/tak_uchida/articles/da583cf960e854 より
Mermaidのルールではないが使うので掲載
記載 | 意味 | サンプル |
---|---|---|
* | Abstract | foo* , foo()* |
$ | Static | foo$ , foo()$ |
+ | Public | +foo , +foo() |
- | Private | -foo , -foo() |
# | Protected | #foo , #foo() |
~ | Package/Internal | ~foo |
矢印
https://zenn.dev/tak_uchida/articles/da583cf960e854 より
意味はMermaidのルールではないが使うので記載
一覧
記載 | 意味 |
---|---|
A <|-- B |
継承 - Aが親クラス |
A <|.. B |
実現 - Aがabstract |
A <-- B |
関連 - AがBのクラス内変数 |
A <.. B |
依存 - Aの変更がBに影響を与える |
A *-- B |
構成 - Aの構成にBが寄与(BはAの子) |
A o-- B |
集約 - Aの構成にBが寄与(BはAの子とは限らない) |
A -- B |
リンク - 何かしらの関連 |
A .. B |
リンク2 - 弱い関連 |
サンプル付き一覧
記載 | 意味 | サンプル |
---|---|---|
<|-- |
継承 - Aが親クラス |
|
<|.. |
実現 - Aがabstract |
|
<-- |
関連 - AがBのクラス内変数 |
|
<.. |
依存 - Aの変更がBに影響を与える |
|
*-- |
構成 - Aの構成にBが寄与(BはAの子) |
|
o-- |
集約 - Aの構成にBが寄与(BはAの子とは限らない) |
|
-- |
リンク - 何かしらの関連 |
|
.. |
リンク2 - 弱い関連 |