從程式碼建立圖層圖表
您可以以視覺化方式檢視高階軟體系統,邏輯結構會建立使用 Visual Studio Ultimate 的 圖層圖表 。若要,確定您的程式碼一致。此設計,請驗證您的圖層圖表的程式碼在 Visual Studio Ultimate 或 Visual Studio Premium。您可以建立 Visual C# .NET 以及 Visual Basic .NET 專案的圖層圖表。
您想要怎麼做?
進一步了解圖層圖表
建立圖層圖表
從成品建立圖層
管理圖層與成品之間的連結。
對現有的相依性進行反向工程
編輯圖層和相依性顯示預期的設計
變更項目如何出現在圖表上
進一步了解圖層圖表
圖層圖表可讓您組織 Visual Studio 方案項目的邏輯,稱為 圖層的抽象群組。您可以使用圖層會描述這些成品執行的主要工作或系統的主要元件。每個圖層可以包含描述更詳細的工作的其他圖層。您也可以指定圖層之間的預定或現有相依性。這些相依性,表示為箭號,顯示哪些圖層可以使用或目前使用其他圖層代表的功能。若要維護程式碼的架構控制項,請在圖表上顯示預定相依性然後驗證程式碼物件的圖表。
請參閱:
![]() |
---|
當您建立圖層圖表時,您可以考慮建立相依性圖形來協助探索和了解程式碼。這些圖形可以協助您找出程式碼中的叢集、模式、自然圖層和相依性。使您更輕鬆地將成品指派給圖層。您可能也會使用 [架構總管] 探索命名空間和類別 (這通常會正確對應至現有的圖層)。然後,您就可以使用圖層圖表來協助更新程式碼。 請參閱: |
建立圖層圖表
在您建立圖層圖表之前,請確定您的方案中有一個模型專案。請參閱 HOW TO:建立 UML 模型專案和圖表。
![]() |
---|
請勿加入,請勿拖曳,也不要複製到模型專案的現有圖層圖表加入到其他模型專案或方案中的另一個。這將原始圖表的參考,因此,即使您變更圖表。當您嘗試開啟圖表時,這可能會阻礙圖層驗證正確的工作可能會造成其他問題,例如遺漏項目或其他錯誤。 相反地,請將新圖層圖表加入至模型專案。複製來源圖表的元素到新圖表。將兩個模型專案和新圖層圖表。 |
若要將新圖層圖表加入到現有模型專案
在[架構] 功能表上選擇 [新增圖表]。
在 [樣板] 底下選取 [圖層圖表]。
命名圖表。
在 [加入至模型專案] 中,瀏覽並選取方案中的現有模型專案。
-或-
選擇 [建立新模型專案]來將新的模型專案加入至方案。
注意事項
圖層圖表必須存在於模型專案之內。不過,您可以使用項目連結至任何位置的方案。
請務必確保儲存了模型專案和圖層圖表。
從成品建立圖層
您可以從 Visual Studio 方案項目的圖層,例如專案、程式碼檔、命名空間、類別和方法。這在圖層驗證程序會自動建立圖層和項目之間的連結,包括它們。您也可以將圖層連結至不支援驗證,例如 Word 文件或 PowerPoint 簡報之類的項目,因此,您可以使圖層連結規格或計劃。若要查看連結的項目是否支援驗證,請開啟 [圖層總管] 並檢查項目的 [支援驗證] 屬性。請參閱 成品的連結。。
若要 |
請依照下列步驟: |
---|---|
建立單一成品的圖層 |
![]()
將二進位檔案拖曳至圖層圖表並不會自動將它們的參考加入物件模型專案。您必須手動加入您要驗證模型專案的二進位檔案。若要將二進位檔案加入至模型專案
|
為所有選取的成品建立單一圖層 |
同時將所有成品拖曳至圖層圖表。 圖層隨即出現在圖表上,並且連結到所有成品。 |
為每個選取的成品建立圖層 |
按住 SHIFT 鍵不放,同時將所有成品拖曳至圖層圖表。 ![]()
如果您使用 SHIFT 鍵來選取某個範圍的項目,請在選取成品之後放開該鍵。將成品至拖曳圖表時,再次按住該鍵不放。
每個成品的圖層隨即出現在圖表上,並且連結到個別成品。 |
將成品加入至圖層 |
將成品拖曳至圖層。 |
建立新的未連結圖層 |
在 [工具箱] 中,展開 [圖層圖表] 區段,然後將 [圖層] 拖曳至圖層圖表。 若要加入多個圖層,請按兩下 [圖層] 工具。當您完成後,請選擇 [指標] 工具,或按 ESC 鍵。 -或- 開啟圖層圖表的捷徑功能表上,選取 [新增]然後選取 [圖層]。 |
建立巢狀圖層 |
將現有的圖層拖曳至另一個圖層上。 -或- 開啟圖層的捷徑功能表,選取 [新增],然後選取 [圖層]。 |
建立包含兩個或多個現有圖層的新圖層 |
選取圖層接著開啟您所選項目的捷徑功能表,然後選取 [群組]。 |
變更圖層的色彩 |
將圖層的 [色彩] 屬性設定為所要的色彩。 |
指定與圖層關聯的成品不可屬於指定的命名空間 |
在圖層的 [Forbidden Namespaces] 屬性中輸入命名空間。請使用分號 (;) 來分隔命名空間。 |
指定與圖層關聯的成品不可相依於指定的命名空間 |
在圖層的 [Forbidden Namespace Dependencies] 屬性中輸入命名空間。請使用分號 (;) 來分隔命名空間。 |
指定與圖層關聯的成品必須屬於其中一個指定的命名空間 |
在圖層的 [Required Namespaces] 屬性中輸入命名空間。請使用分號 (;) 來分隔命名空間。 |
圖層上的數字表示圖層連結的成品數目。然而,當您閱讀這個數字時,請記住下列各項:
如果圖層連結的成品有包含其他成品,但圖層未直接連結這些其他成品,則數字將只包含連結的成品。然而,在圖層驗證期間會加入其他成品以進行分析。
例如,如果圖層連結到單一命名空間,即使命名空間包含類別,連結的成品數目仍為 1。如果圖層也有命名空間中每個類別的連結,則數字將包含這些已連結的類別。
如果圖層包含已連結到成品的其他圖層,即使此容器圖層上的數字未包含那些成品,容器圖層也會連結到那些成品。
管理圖層與成品之間的連結。
在圖層圖表開啟圖層的捷徑功能表,然後選取 [檢視連結]。
[圖層總管] 會顯示所選取圖層的成品連結。
使用下列工作來管理這些連結:
若要 |
在圖層總管中 |
---|---|
刪除圖層與成品之間的連結 |
開啟成品連結的捷徑功能表然後選取 [刪除]。 |
將連結從某個圖層移到另一個圖層 |
將成品連結拖曳至圖表上的現有圖層。 -或-
|
將連結從某個圖層複製到另一個圖層 |
|
從現有的成品連結建立新的圖層 |
將成品連結拖曳至圖表上的空白區域。 |
確認連結的成品支援針對圖層圖表進行驗證。 |
查看成品連結的 [支援驗證] 資料行。 |
對現有的相依性進行反向工程
只要與某個圖層關聯的成品參考到與另一個圖層關聯的成品,相依性便會存在。例如,某個圖層中的類別會宣告在另一個圖層中具有類別的變數。對於連結到圖表上之圖層的成品,您可以就其現有相依性進行反向工程。
![]() |
---|
您無法針對特定種類的成品進行其相依性的反向工程。例如,對連結到文字檔的圖層進行反向工程時,無法找出與該圖層之間的任何相依性。若要查看哪些成品可以進行反向工程的相依性,為其中一個或多個圖層開啟捷徑功能表,然後選取 [檢視連結]。在 [圖層總管] 中,檢查 [支援驗證] 資料行。如果成品的這個資料行顯示 [False],則無法進行該成品的相依性反向工程。 |
- 選取一個或多個圖層,開啟選取的圖層的捷徑功能表然後選取 [產生相依性]。
通常,您會看到一些不應該存在的相依性。您可以編輯這些相依性,以便與預期的設計保持一致。
編輯圖層和相依性顯示預期的設計
若要描述您計劃對系統或預定架構的變更,請編輯圖層圖表:
若要 |
請執行這些步驟 |
---|---|
變更或限制相依性的方向 |
設定其 [Direction] 屬性。 |
建立新的相依性 |
使用 [相依性] 和 [雙向相依性] 工具。 若要繪製多個相依性,請按兩下工具。當您完成後,請選擇 [指標] 工具,或按 ESC 鍵。 |
指定與圖層關聯的成品不可相依於指定的命名空間 |
在圖層的 [Forbidden Namespace Dependencies] 屬性中輸入命名空間。請使用分號 (;) 來分隔命名空間。 |
指定與圖層關聯的成品不可屬於指定的命名空間 |
在圖層的 [Forbidden Namespaces] 屬性中輸入命名空間。請使用分號 (;) 來分隔命名空間。 |
指定與圖層關聯的成品必須屬於其中一個指定的命名空間 |
在圖層的 [Required Namespaces] 屬性中輸入命名空間。請使用分號 (;) 來分隔命名空間。 |
變更項目如何出現在圖表上
您可以變更圖層或相依性色彩的大小,以編輯其屬性模型,色彩和位置。