針對埠的考量

埠是物件可以透過其傳送或接收訊息(基本作業、觸發的作業及事件)的互動點。

UML 中的埠具有在 IBM® Rational® Rhapsody® 中稱為合約的類型。埠的合約類似於物件的類別。

如果某埠具有合約(例如,介面 I),則該埠會根據定義提供 I。如果您想讓該埠提供其他介面(例如,介面 J),則根據 UML,I 必須繼承 J(因為埠只能有一個類型)。如果是 Rational Rhapsody,則在將 J 新增至所提供的介面清單後,會自動建立此繼承(另一方面,這是具有明確合約 I 的埠)。根據 UML 標準,如果 IJ 無關,則必須指定要作為合約的新介面,並且讓此介面同時繼承 IJ

隱含埠合約

有人發現將特殊介面規格作為埠的合約強制實施是人為的,因此 Rational Rhapsody 會為隱含合約提供記號。這意味著,如果合約是隱含的,則您可以指定提供的及需要的彼此無關的介面清單,而合約介面會維持隱含狀態(無需明確定義要作為模型中埠合約的特殊介面)。

使用隱含合約既有利又有弊。如果該埠連接至僅提供並需要其所提供及需要之介面子集的其他埠,則使用隱含合約更加自然。但是,如果埠連接至完全「反轉」(請查看埠的「特性」視窗中的勾選框)的另一個埠,或者如果其他埠提供並需要相同的介面集,使用隱含合約則有意義。如果系統中僅存在一個此類型或類別的物件,則使用隱含合約類似於從類別個別指定物件或指定具有隱含類別的物件。

快速埠

快速埠是沒有提供的介面及需要的介面的埠(這表示合約是隱含的,因為根據定義,具有隱含合約的埠會提供合約介面)。這些埠會傳送穿越它們的任何事件。快速埠的記號是 Rational Rhapsody 專用的,可讓使用者使用埠執行快速原型化。此功能對於使用狀態圖指定行為的使用者尤為有利 - 無需在分析或設計的初期詳細說明合約。


意見回饋