我想详细了解一下alt和opt片段在序列图中的区别,它们看起来很相似,我无法区分它们。谁知道这件事?
alt
用于描述工作流的替代方案。只会执行其中一个选项。
opt
用于描述工作流程中的可选步骤。
例如,对于在线商店购买序列图,您可以使用opt
来描述用户如果愿意如何添加礼品包装。 alt
可能用于描述两种付款方式:使用信用卡或电汇汇款。
Alt是备用流程(SWITCH或if。具有两个路径的IF)选项是具有一个流程的IF。如果您使用Opt,代码将被执行或不执行!
使用Interaction Frames
(组合片段)
Interaction Operators
用于表征片段。
alt
- 将片段分成组并为每个组定义条件 - 只有条件为真的那个才会执行。opt
- 为单个调用定义条件 - 只有在提供的条件为真时才会执行调用。相当于只有一条迹线的alt。par
- 定义片段内的调用并行运行。loop
- 定义片段内的调用在循环中运行。region
-定义片段内的调用位于临界区,即片段只能有一个线程同时执行它。阅读更多here
它们基本相同。
alt
更多地用于多种选择,例如C编程语言中的switch
句群。虽然opt
更多用于两个选择,如if
句子。
但是,如果您看到这两个概念可以互换使用,请不要感到惊讶。
Alt(替代)确实类似于“if”但不仅限于2个选项,两者实际上可以根据需要具有许多“其他”,许多选项。例如:// if(a = b)然后是++;否则,如果(a> b)则a--;否则b ++。在任何情况下,如果Alt是正在调用的代码的一部分,则Alt将执行。
而Opt(可选)不一定会被执行,即使它包含在被调用的序列或代码的中间。通常,执行Opt序列需要来自用户的外部交互,该用户正在做出决定,其中呈现了许多选项(例如选择在线支付方法)。在这种特殊情况下,与Alt序列相反,如果付费方式是“信用卡”,“付费朋友”或“预付费”,则代码将有3个选项序列 - 每个只有一个流程 - 但只有一个其中一个Opt序列实际上会执行。
希望这可以帮助!!
最好,SD
Alt替代alt可以认为它是同样的事情....否则它是条件处理。可选的opt是一种可能发生或不发生的行为(视情况而定)