728x90
Sequence 다이어그램의 경우 shape을 설정해서 사용할 수 있습니다.
다음과 같이 shape: sequence_diagram 사용합니다.
shape: sequence_diagram
alice -> bob: What does it mean\\nto be well-adjusted?
bob -> alice: The ability to play bridge or\\ngolf as if they were games.
아래와 같이 출력됩니다.
시퀀스 다이어그램의 자식은 전체에서 동일한 범위를 가집니다. (중첩되지 않고 사용됩니다.)
Office chatter: {
shape: sequence_diagram
alice: Alice
bob: Bobby
awkward small talk: {
alice -> bob: uhm, hi
bob -> alice: oh, hello
icebreaker attempt: {
alice -> bob: what did you have for lunch?
}
unfortunate outcome: {
bob -> alice: that's personal
}
}
}
아래의 결과와 같이 자식은 부모를 참조한 영역을 가지게 됩니다.
선언 순서에 따라 좌측에서 우측으로 배치됩니다.
연결 순서에 따라 시퀀스가 정해집니다.
shape: sequence_diagram
a
b
c
d
c -> d
d -> a
b -> d
아래와 같이 생성됨을 확인할 수 있습니다.
다음 예제는 연결 및 라벨 재정의 등 여타 다른 컨테이너와 같이 다른 속성을 사용하는 예입니다.
direction: right
base: {
first: First {
shape: sequence_diagram
a: A
b: B
setp 1: {
a -> b: request
b -> a: response
data request: {
a -> b: request
}
data response: {
b -> a: response
}
}
}
second: Second {
shape: sequence_diagram
a: A
b: B
a -> b: request
b -> a: response
b -> a.verify: request verify
a.verify -> b.verify: response verify
}
first -> second
}
아래와 같이 부모가 있고 그 안에서 시퀀스에서 시퀀스로 연결하는 것을 확인할 수 있습니다.
위의 결과에서 a.verify, b.verify 부분이 막대기가 있는 것을 확인할 수 있습니다.
이 영역은 span이라고 하며 시퀀스 다이어그램 내에서 상호 작용의 시작과 끝을 의미합니다.
D2에서 그 막대기의 범위는 다른 곳에서 "수명", "활성화 상자" 및 "활성화 막대"라고도 합니다.
다음 예는 span을 사용하는 예입니다.
shape: sequence_diagram
a.area2 -> b.b1
a.area2.a1 -> b.b1
a.area2.a1 <- b.b1
a.area2 <- b.b1
다음과 같이 중첩하기도 하고 서로 연결해서 사용할 수 있습니다.
다음에도 이어서 squence 다이어그램에 대해 이어가겠습니다.
'D2Lang' 카테고리의 다른 글
[D2Lang] 11. D2의 Sequence 다이어그램의 사용법을 알아보자! (2) (0) | 2023.05.09 |
---|---|
[D2Lang] 9. D2의 UML 클래스의 사용법을 알아보자! (0) | 2023.05.07 |
[D2Lang] 8. D2의 SQL Tables의 사용법을 알아보자! (0) | 2023.05.06 |
[D2Lang] 7. D2의 Icons & Images의 사용법을 알아보자! (0) | 2023.05.05 |
[D2Lang] 6. window에서 D2 CLI 설치 및 내보내기(svg, png)를 알아보자! (0) | 2023.05.04 |