簡體   English   中英

UML 中的信號和異步操作有什么區別?

[英]What's the difference between a signal and asynchronous operation in UML?

制作序列圖我的工具允許同步操作、異步操作和信號通信。

最后兩個關於程序流程的區別是什么?

信號用於異步事件驅動的通信。 信號是分類器,描述了它們出現的屬性。 類本身並在接收部分指示它們能夠處理哪些信號,然后在交互圖中您可以使用這些信號。

在序列圖中,兩條生命線之間的通信是使用Messages實現的:

消息的簽名指的是操作或信號。 消息的名稱必須與引用的操作或信號的名稱相同。

時序圖中的操作和信號的圖形符號是相同的; 只是信號必然總是異步的。 好消息是您可以從一個開始,然后決定切換到另一個,而不會從根本上改變您的序列圖。

沒有使用其中一個或另一個的規則。 您可以使用其中一種或另一種對非常相似的設計進行建模。 通常,您可能更喜歡信號而不是異步操作:

  • 如果你正在設計一個事件驅動的系統,
  • 如果你正在設計一個分布式系統,有很多中間人在傳遞你的信息
  • 如果無論接收者如何,消息對發送者都是有意義的。 這種情況的一個症狀是可能不相關的類(具有不同的操作)可能對接收和處理此類消息感興趣。
  • 如果消息的內容很復雜:信號可以允許對消息的內容進行建模,而不是具有許多參數的操作,而不是使用類參數的操作,其中類是僅為簡化調用參數而創建的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM