使用Architecture Explorer分析应用程序及使用层次图
使用Architecture Explorer分析應用程序
Architecture Explorer和依賴圖可以幫助我們了解所有的項目,包括小項目和大項目。Architecture Explorer可用于研究現有代碼,還可以用依賴圖選擇要研究的代碼并對其進行可視化。
Architecture Explorer將結構表示為節點,關系表示為連接,下圖為WatiN框架項目下的圖示:
最左側的第一個選項的功能是從當前在Architecture Explorer中選中的所有節點生成新的依賴圖文件。如果僅要包含當前欄目中的節點,則在單擊這個選項前必須按下并持續按住Ctrl鍵。
第二個選項的功能是將Architecture Explorer中選中的節點添加到當前在VS中可見的依賴圖中。
第三個選項功能是將信息從Architecture Explorer中輸出到一個.dgml文件中,該文件是用于定義依賴圖的xml架構。
第四個選項是重置Architecture Explorer為初始化狀態,從而達到清除窗口重新開始的目的。
點擊篩選器,可以選擇其中的一個或多個篩選器選項,從而以不同的方式對該欄目所包含的信息進行研究:
除了上述篩選方式之外,我們還可以點擊上圖中的Types展開篩選欄:
該欄提供了很多選項可以用于決定該欄目的初始顯示內容。可以將連接類型分為Outbound和Inbound,這種分類方法描述了與當前選中節點連接的方向。Outbound是指從當前選中節點指向相關節點。Inbound是指從前面的相關節點指向當前選中節點。使用Analysis選項可以查看循環引用或hub(例如,類),既可以是沒有被調用的,也可以是已使用的。利用Grouping選項可以根據容器、屬性進行分組。
依賴圖可用于瀏覽現有代碼的關系和組織。這些圖使我們能很容易地對新的或不熟悉的代碼進行了解。圖中的關系清楚地表明了不同區域的代碼之間的依賴關系,以及一段代碼的修改會對哪些代碼帶來潛在的影響。
依賴圖只會顯示成功編譯生成的代碼中的依賴關系。沒有生成成功的代碼將不會出現在依賴圖中。
上圖表明了命名空間之間的關系,也可以提取其他信息得出想要查看的依賴圖,如下圖所示:
將鼠標懸停在圖中的某個節點上,還可以瀏覽該節點的詳細信息。右擊節點還可以跳轉到該節點的方法定義中。
上述創建依賴圖是用過Architecture Explorer, 同時,我們可以在VS菜單中選擇Architecture--> Generate Dependency Graph--> For Solution創建依賴圖:
通過展開方式可以看到整個項目的架構,展開后顯示的樣式與使用Code Map效果是一樣的。
因此,使用Architecture Explorer與依賴圖結合的方式,和使用Code Map方式均可以幫助我們快速理解整個項目代碼。
使用層次圖
層次圖不僅可以用于從較高層次描述一個應用程序的結構,而且還可以驗證所開發的代碼是否滿足上層設計。層次圖的一個非常優秀的功能在于可以驗證應用程序設計的架構與基本代碼是否一致,從而保證代碼和架構在開發過程中始終保持匹配。
層次圖顯示了架構設計的主要組件,組件之間的依賴關系也體現在了層次圖中。一個圖由一個或多個節點組成,稱為層。一個層表示一種邏輯分組——例如,一個名稱空間或類文件。
雖然層次圖位于建模項目內,但它可以連接到當前VS解決方案中的任何項。
層次圖中的每一層都顯示為一個矩形,不同層可以相互嵌套,稱之為分組。層次圖中不同的層用于定義項的邏輯分組,包括方法、類和名稱空間。
作為一般原則,應該總是將具有相同依賴關系的項放在同一層上。而可以獨立更新的項(或在獨立的應用程序中所使用的項)則應該放在不同的層。
Layer Explorer可以用于瀏覽與特定的層相連接的項,并且可以在層之間移動這些項。
在層次圖中定義了層之后,下一步就是要標識不同層之間的依賴關系。無論一個層中的項是引用還是使用另一個層中的項,這兩個層之間就存在依賴關系。
層次圖可以對架構進行驗證。利用層次圖的驗證功能,可以驗證各層之間的所有依賴關系是否正確。這個功能可以強制實施不同層之間的規則和依賴關系。如果驗證成功返回如下圖所示:
可以將Solution Explorer所包含的任何文件或項目拖放到層次圖上,這樣就會創建一個與文件名或項目名相同的新層,并包含一個到該文件或項目的連接。
用Architecture Explorer不僅可以深入到感興趣的信息(如名稱空間),還可以將名稱空間拖放到層次圖中,這些名稱空間將表示為層次圖上的一個層,與該層連接的層也將出現在層次圖中。
還可以直接將依賴圖信息拖到層次圖中,這樣也可以創建層。
轉載于:https://www.cnblogs.com/Ribbon/p/4429040.html
總結
以上是生活随笔為你收集整理的使用Architecture Explorer分析应用程序及使用层次图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个美丽的悲剧
- 下一篇: VC++2010配置使用MySQL5.6