首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

Visual Studio DSL 入門實戰(七):DSL 圖形表示核心——形狀映射與連接器映射深度解析

     編輯:關於.NET

本章深入剖析 VS.NET DSL 視覺化核心機制:形狀映射 定義模型元素如何透過形狀可視化;連接器映射 定義域關係如何透過連接器可視化。詳細解析映射視窗各分頁 (General/Decorator/Compartment/Port/Swimlane) 設定意義、父元素路徑語法、自訂父形狀/元素、裝飾器映射 (顯示屬性/可見性篩選)、隔間映射、連接器裝飾器映射,為後續自訂 DSL 圖形奠定理論基礎。

一、形狀映射

選取域類 ExampleElement 與圖形 ExampleShape 連線,開啟 DSL Details 視窗:

形狀映射 General 分頁

General 分頁核心設定

  • 形狀/域類選擇:指定映射雙方。
  • 父元素路徑:語法範例 ExampleModelHasElements.ExampleModel/!ExampleModel,從域類出發沿關係導覽至邏輯父元素,決定形狀在圖面上的父容器 (通常為圖表根節點)。
    原因:設計器運行時,所有圖表元素 (除圖表本身) 必須有父圖表元素,以知曉自身佈局位置。
  • 自訂父形狀/父元素:勾選後生成程式碼需手動實作對應 partial 方法 (如 CreateShapeForExampleElement),可動態決定父容器。

Decorator 分頁:裝飾器映射

裝飾器映射分頁

  • 顯示屬性:針對文字裝飾器,指定顯示文本對應的域屬性。
  • 可見性篩選器:依域屬性值決定裝飾器是否顯示。設定 Filter Property 為依據屬性,Visibility Entries 指定顯示值。複雜邏輯可用計算屬性實現。同樣適用於圖示裝飾器 (如實體繼承時顯示圖示)。

二、特殊形狀映射補充

  1. 隔間形狀:除形狀映射外,需映射隔間。範例:ClassDiagram 範本中 ClassShape 的 AttributesCompartment/OperationsCompartment 映射,左側指定元素集合導覽路徑 (如 Class → Attribute),右側指定顯示屬性 (如 Name)。可勾選自訂元素集合。
  2. 連接埠:父元素路徑指向的元素必須映射至可接受連接埠的形狀 (幾何形狀、隔間形狀、另一連接埠形狀),或啟用自訂父元素。
  3. 泳道:映射至泳道內形狀時,父路徑必須識別映射至泳道的元素;映射泳道本身時,父路徑必須識別圖表元素,泳道不可採幾何形狀為父。

隔間形狀映射範例

三、連接器映射

將連接器映射至域關係,無需父元素路徑。連接器自動連接來源/目標元素對應形狀。可設定 自訂來源/目標 需手動實作。同樣支援裝飾器映射 (域關係亦有屬性):

連接器映射與裝飾器設定

四、小結

掌握形狀/連接器映射、父元素路徑語法、裝飾器動態顯示邏輯、隔間與特殊容器映射規則,即具備自訂 DSL 視覺化表示的核心能力。下章將實戰應用這些知識建構狀態機設計器圖形符號。

出處:https://lonely7345.cnblogs.com/

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved