共用方式為


使用 UML API 進行程式設計

Visual Studio Ultimate 的 UML API 可讓您撰寫程式碼來建立、讀取和更新 UML 模型和圖表。

除了 API 參考頁面之外,下列主題也會說明 API。

主題

說明的範例類型和方法

說明的功能

HOW TO:使用 UML API 瀏覽關聯性

UML 項目及其屬性和關聯。 例如,IElement 及其子系,包括 IClass、IActivity、IUseCase、IComponent、IInteraction、IModel 和 IPackage

在 Visual Studio Ultimate 中,UML 模型符合 UML 規格 2.1.2 版,該版本可從 UML 資源頁面 (英文) 取得。 每一個型別都是一個介面,此介面的名稱與 UML 型別相同且包含前置詞 "I"。

HOW TO:建立項目與關聯性

IPackage.CreateClass()

IClass.CreateOperation()

每一個項目型別都有建立其子項目的方法。

HOW TO:在圖表上顯示模型

IShape、IDiagram

IShape.Move()

模型中的每一個項目都可做為圖表上的圖形表示。 在某些情況下,您可以為每一個物件建立新圖形。 您可以移動圖形、調整圖形大小、為圖形上色,以及摺疊或展開這些圖形。

HOW TO:巡覽 UML 模型

IModelStore

IDiagramContext

「模型存放區」可儲存模型。

「圖表內容」可讓您存取目前的圖表和存放區。

HOW TO:使用交易連結模型更新

ILinkedUndoContext

您可以將一系列變更連結到一項異動中。

HOW TO:在模型圖表上定義功能表命令

IMenuCommand

IGestureExtension

ICommandExtension

您可以定義透過按兩下或拖曳至圖表的方式叫用的命令,藉此擴充圖表的功能。

HOW TO:定義 UML 模型的驗證條件約束

ValidationContext

您可以定義驗證規則,有助於確保模型符合指定的條件約束。

HOW TO:從 IDataObject 取得 UML 模型項目

IElement、IShape

從 [UML 模型總管] 或 UML 圖表將項目拖曳至另一個圖表或應用程式時,該項目會序列化為 IDataObject。

HOW TO:使用 UML API 編輯順序圖表

IInteraction、ILifeline、IMessage

建立和更新互動圖表與使用其他圖表類型有些許差異。

建立圖層圖表的擴充功能

ILayer、ILayerDiagram

您可以撰寫程式碼以建立和編輯圖層圖表,也可以根據圖層圖表來驗證程式碼。

關於實作

UML 模型工具建置於 Domain-Specific Language Tools 上。 每個封裝與每個圖表都會以一個 Domain-Specific Language Tools 模型來表示,且規則與其他方法的集合會維護其間的一致性。

來自該平台的類型會顯示在可供您參考以撰寫 UML 擴充功能的某些組件上。 雖然您可以存取 Domain-Specific Language Tools API 以擴充 UML 工具,但您應注意下列事項:

  • 您可能會發現有些明顯的簡單變更會導致不一致的情況與未預期的影響。

  • 實作方式日後可能會有所變更,而使您透過 Domain-Specific Language Tools API 所做的修改不再適用。

API 組件

下表摘錄了可為 UML 工具提供擴充性的組件,與建議您使用的命名空間。

組件

命名空間

可供存取:

Microsoft.VisualStudio.Uml.Interfaces

(全部)

UML 型別

Microsoft.VisualStudio.ArchitectureTools.Extensibility

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml

建立方法

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation

圖表和圖案

Microsoft.VisualStudio.ArchitectureTools.Extensibility

模型專案

Microsoft.VisualStudio.Modeling.Sdk.10.0

Microsoft.VisualStudio.Modeling.ExtensionEnablement

功能表命令擴充功能

連結的復原交易

Microsoft.VisualStudio.Modeling.Validation

驗證

(其他命名空間)

建議僅供進階使用

Microsoft.VisualStudio.Modeling.Sdk.Diagrams.10.0

Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement

筆勢處理常式

(其他命名空間)

建議僅供進階使用

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

工作項目的連結

Microsoft.TeamFoundation.WorkItemTracking.Client

Microsoft.TeamFoundation.WorkItemTracking.Client

工作項目及其欄位

Microsoft.TeamFoundation.Client

Microsoft.TeamFoundation.Client

工作項目及其欄位

System.ComponentModel.Composition

System.ComponentModel.Composition

MEF 元件的匯出和匯入

System.Linq

System.Linq

集合的簡易操控,尤其是處理關聯性時

請參閱

其他資源

擴充 UML 模型與圖表

UML 模型擴充性的 API 參考