Architecture Explorer(架構總管)是Visual Studio 2010新增的Code分析工具,提供多種角度巡覽Code或產生Dependency Graph(相依性圖型)檢視大到Assembly小到Method的各種關係,可以快速了解整個系統面,也可以更方便的改善與修改Code,本篇說明學習如何使用Architecture Explorer來Drill Down現有程式。

 

本篇使用Tailspin Travel做為範例程式,可至Codeplex下載

 

1.開啟Architecture Explorer

開啟Architecture Explorer的方式有三個

從Menu

  • View > Architecture Explorer
  • Architecture > Window > Architecture Explorer

從快速鍵

  • Ctrl+\, Ctrl+R

Visual Studio 2010分析工具之Architecture Explorer

 

2.開始Architecture Explorer

巡覽Architecture Explorer的方式有三大類

  1. Visual Studio 目前開始的方案
  2. File System 從Exe或Dll
  3. Saved DGQL Queries 有預設的查尋,或之前所儲存的查尋

Visual Studio下又有二個選項

  1. Class View 從Namespace方式巡覽
  2. Solution View 從Project與File方式巡覽

為什麼這樣分呢?因為不同的Project可以有同樣的Namespace,與同一個File下可以有多個Type,不過不管從那一種方式都可以一直Drill Down下去。

Visual Studio 2010分析工具之Architecture Explorer

左邊的按鍵功能為

  • Visual Studio 2010分析工具之Architecture Explorer 產生新的Dependency Graph,將選擇的Column加入其中
  • Visual Studio 2010分析工具之Architecture Explorer 使用現在的Dependency Graph,將選擇的Column加入其中
  • Visual Studio 2010分析工具之Architecture Explorer 產生新的Dependency Graph檔案,將選擇的Column加入其中
  • Visual Studio 2010分析工具之Architecture Explorer 清除所有Column
  • Visual Studio 2010分析工具之Architecture Explorer 將目前的查詢結果存成檔案。

 

3.複選

每一個Column都可以被複選,而下方也會有顯示目前的選取量。

Visual Studio 2010分析工具之Architecture Explorer

 

4.巡覽選項

點擊垂直的按鍵可以開始巡覽選項。

Visual Studio 2010分析工具之Architecture Explorer

巡覽選項分6大類

  • Node
  • Outbound 對外巡覽
  • InBound 對內巡覽
  • Analysis
  • Commands
  • Grouping

不同類型如Namespace、Class、Method的巡覽選項略有不同,如

Namespace的是

  • Classes
  • Delegates
  • Enums
  • Interfaces
  • Members
  • Modules
  • Structs..等等

Class的是

  • Classes
  • Fields
  • Generic Arguments
  • Generic Parameters
  • Members
  • Properties
  • Types..等等

Method巡覽選項部分擷圖

Visual Studio 2010分析工具之Architecture Explorer 

 

5.讀取與存儲DGQL

能讀取的DGQL只能存放在三個地方

  • 安裝路徑下,C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft\Architecture Tools\Directed Graph Queries\
  • 我的文件下,路徑為:<My Documents>\Visual Studio 2010\ArchitectureExplorer\Queries\
  • 方案中,連結也可以,只要有加入方案就找到的

預設有6個存儲的查詢

  • All Assembly References 方案參考的所有組件
  • All Output Assemblies 在方案中所有輸出組件
  • All Project References 方案中專案之間的所有參考
  • All Projects 方案中所有專案
  • Constructors 所有建構函式方法
  • Inheritance Graph 有繼承與實作的所有型別
  • Public Classes 所有公用類別
  • Virtual Members 所有虛擬成員

按下左邊第五個存儲鈕Visual Studio 2010分析工具之Architecture Explorer ,就可以將查詢儲存起來,開啟儲存的查詢,預設只會從最後一個結果開始

如從 Namespace > Class > Method > Outbound 儲存查詢,打開查詢只能看到Outbound。

如果要看到所有巡覽結果,請打開巡覽選項,選擇Commands>Expanded Execute

Visual Studio 2010分析工具之Architecture Explorer

 

6.產生Dependency Graph

如果Architecture Explorer這種由左到右的方式,還看不過癮,可以產生Dependency Graph由任一個角度來分析Code。

從Architecture Explorer產生Dependency Graph只有一種,就是按下左邊第一個按鈕Visual Studio 2010分析工具之Architecture Explorer,以下是選擇所有Namespace,所產生的Dependency Graph顯示所有Namespace相依性。

Visual Studio 2010分析工具之Architecture Explorer

 

 

 

 

 

 

 

 

 

 

現在的Dependency Graph加入Column有二種

  • 按下左邊第二個按鈕Visual Studio 2010分析工具之Architecture Explorer
  • 選取後拖曳到文件中

方塊中代表一次拖了幾個Column

Visual Studio 2010分析工具之Architecture Explorer

 

參考資料

HOW TO:使用架構總管尋找程式碼

相关文章: