背景
たまにPlantUMLでシーケンス図を書くと、altとoptの区別がごっちゃになることがあるのでメモします。
違い
仕様上の違い
alt
else if および else を設定できる。
opt
else if および else が設定できない。
ユースケースとしての違い
alt
- ワークフロー上複数の選択肢がある中で、1つの選択肢を選ぶ必要がある
- else, if elseが必要なとき
opt
- ワークフローの中でオプショナル(自由意志・任意)で実行される
- if だけで済む時
なので早期リターンなガード節はopt
で良さそうです。
図で表すと
図で表すと次のような形です。
ギフトラッピングはオプショナルであるためopt
で良く、決済手段は必ず1つ選択しなくてはいけないのでalt
になります。