自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用Visual Studio 2010進行架構(gòu)驗證

原創(chuàng)
開發(fā) 后端
在Visual Studio 2010 RC發(fā)布之后,其中一些新特性也浮出水面。本文主要講述的是使用Visual Studio 2010進行架構(gòu)驗證。

【51CTO精選譯文】最近我參加了一個本地Visual Studio 2010啟動儀式,當初去的目的主要是想看看Team Foundation Server(TFS)的新特性,但真正令我印象深刻的是新增的一些架構(gòu)工具,以前我一直使用Visual Studio擴展工具NDepend,很高興現(xiàn)在在Visual Studio 2010中對架構(gòu)工具進行了改進,吸收了大部分NDepend的功能,請看版本對比表(http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx#compare),它僅在旗艦版中具有這個功能。

為了便于說明,我將使用一個假想的,有Web、業(yè)務(wù)和數(shù)據(jù)層,以及一些共享模型對象的應(yīng)用程序作為示例,如下圖所示。

假象的應(yīng)用程序分層圖

圖 1 假想的應(yīng)用程序分層圖

這里沒有什么特別的,圖中顯示了每一層的名字,數(shù)字是代碼單元的編號(在這里,你可以加入獨立的命名空間或類)。為了創(chuàng)建一個圖表,我們需先創(chuàng)建一個新的Visual Studio 2010建模項目,在該項目上增加新的層圖,我使用設(shè)計器添加了形狀和依賴線,看起來還不錯,但我想讓它變得更好看。

為了將模塊放入某一層,你可以從解決方案資源管理器(Solution Explorer)或新的架構(gòu)瀏覽器(Architecture Explorer)進行拖放,兩種方法都可以找到你想找的對象,雖然方法不一樣,但結(jié)果是一樣的,當所有模塊分配到正確的層中后,你可以在圖表上點擊右鍵,然后選擇“驗證架構(gòu)(Validate Architecture)”。

Visual Studio 2010然后就會編譯你的解決方案,并驗證其架構(gòu),如果不出現(xiàn)錯誤,你將會看到如下的輸出信息:

1/28/2010 4:04:17 PM: Architecture validation is starting.

1/28/2010 4:04:23 PM: Architecture validation succeeded (0 suppressed).

現(xiàn)在我們嘗試添加一個非法調(diào)用,在這里,我首先在Biz項目上添加一個引用,但失敗了,因為它將會產(chǎn)生一個循環(huán)依賴,我想這在以前的版本中一樣存在,但我卻從沒遇到過。

增加了非法調(diào)用后,我再次驗證架構(gòu),解決方案將會重新編譯,這次的輸出信息如下:

1/28/2010 4:19:46 PM: Architecture validation is starting.

1/28/2010 4:19:55 PM: Architecture validation failed with 3 violation(s) (0 suppressed).

OK,我們的行為正如預(yù)期的那樣,點擊錯誤列表,可以看到錯誤的詳細信息。

Visual Studio 2010操作

圖 2 錯誤列表

因此,不僅在數(shù)據(jù)層的代碼觸發(fā)事件上增加了討厭的調(diào)用,引用本身也有,從這里的錯誤列表我們可以做許多事情。

在錯誤上點擊右鍵,從彈出的右鍵菜單中選擇“管理驗證錯誤”,然后點擊“抑制錯誤”,當然你這么做需要冒一定的風險,編譯的輸出信息如下:

1/28/2010 4:25:03 PM: Architecture validation is starting.

1/28/2010 4:25:09 PM: Architecture validation succeeded (3 suppressed).

如果你想立即修復(fù)錯誤,你可以雙擊錯誤信息獲取違規(guī)代碼,如果是一個正常的編譯失敗,你會看到一些語法錯誤,如果你使用TFS,可以選擇“創(chuàng)建工作項目”基于錯誤信息創(chuàng)建一個新的TFS工作項目。

通過設(shè)置建模項目的“驗證架構(gòu)”參數(shù),也可以將其包括在本地編譯過程中,TFS用戶也可以增加這一步,只需要在編譯標簽增加下面的MSBuild參數(shù)即可:

 

  1. /p:ValidateArchitecture=true 

這對于團隊構(gòu)建特別有用,因為你可以阻止檢入可能會引起架構(gòu)問題的代碼。

我很高興地看到這些東西出現(xiàn)在VS 2010中,我不知道這些新的組件是否能達到NDepend的功能,但他們的出現(xiàn)也標志著Visual Studio 2010的進步,我希望這些工具能夠幫助我們真正改進,形成一個更高效的團體。

在編寫本文的時候,我發(fā)現(xiàn)最新的NDepend 3 Beta版完全集成到Visual Studio中了,我將另起一篇比較Visual Studio 2010中的DGQL查詢和NDepend的CQL。

原文出處:http://blogs.lessthandot.com/index.php/Architect/DesigningSoftware/validating-architecture-with-visual-stud-2010

原文名:Validating Architecture with Visual Studio 2010

作者:AlexCuse

【編輯推薦】

  1. 一線程序員的Visual Studio 2010 RC初體驗
  2. Visual Studio 2010敏捷之道
  3. Visual Studio 2010開發(fā)絢麗Win 7應(yīng)用程序
  4. 詳解Visual Studio 2010敏捷測試驅(qū)動開發(fā)
  5. Visual Studio 2010升級Web開發(fā)功能
責任編輯:彭凡 來源: 51CTO
相關(guān)推薦

2010-09-25 08:50:00

Visual Stud

2010-09-17 08:50:30

Visual Stud

2010-04-08 16:49:26

Visual StudMVC 2.0

2009-12-02 09:43:38

Visual Stud

2009-11-10 13:43:37

Visual Stud

2010-03-16 14:32:16

Visual Stud

2009-12-01 19:12:41

Visual Stud

2011-08-02 08:48:58

Visual Stud

2010-03-19 13:17:26

Parallel

2009-12-16 14:46:06

Visual Stud

2009-11-11 09:48:06

Visual Stud

2010-02-22 16:43:33

Visual Stud

2010-07-12 16:40:39

Visual Stud

2010-03-15 08:58:46

2010-12-16 10:00:20

QtVisual Stud

2009-12-11 13:14:45

Visual Stud

2009-11-13 14:59:12

Visual Stud

2010-04-06 17:32:02

Visual Stud

2010-04-16 14:08:46

Visual Stud

2011-02-13 17:10:28

Visual Stud
點贊
收藏

51CTO技術(shù)棧公眾號