成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

教你如何用好Visual Studio 2010層次驗證

原創
開發 后端
本文將為大家講述作者最為喜歡的一項Visual Studio 2010功能——層次驗證,幫助大家進一步改善程序的架構。

【51CTO經典譯文】在之前的“我喜歡的特性”這篇博文中,我講到如何利用Visual Studio 2010終極版的“依賴關系圖”特性去理解系統的結構關系。親自動手完成一個項目對加深所了解的知識是很有益處的。接下來,我要講的就是層次驗證(Layer Validation),它能夠進一步改善程序的架構。

建立一個層次圖(Layer Diagram)

我們將使用上篇博文的“Tailspin Toys”應用程序來進行說明。既然我們已經知道這個應用程序的基本結構,接下來的目標就是讓它和我們的架構能夠很好的結合到一起。在這個例子中,應用程序所采用的是模型-試圖-控制器(MVC)架構。我們需要確認的是,它真的是按照這種架構模式來實現的。首先,我們通過Architecture(架構)菜單新建一個層次圖:

 

層次圖 

層次的選擇

它將產生一個空的層次圖,我們可以在其中指定和規劃我們的架構層次。不需做太多的工作,我們就可以在窗口上看到所有的基本層次:

基本層次

 雖然這看上去是一個合理的架構,但是我們需要確認物理實現是否真的和邏輯上的結構一一對應。要做到這一點,我們可以把類的實現拖動到相應的實現層次上:

 

實現層次

當把類的實現放置在正確的層次上后,右鍵點擊Design Surface(設計圖面)-> Generate Dependencies(產生依賴關系)就可以得到相應的依賴關系圖:

依賴關系圖

一旦按照上面的步驟完成整個過程,你將會得到類似于下面的一個圖。層次資源管理器(Layer Explorer)可以用來瀏覽每一層次中的具體內容:

具體內容

#p#

改進你的實施方法:

在這里我們有一副圖描述了哪些已經被實際構建。但是我對這幅圖有一個疑問:在MVC模式中我們不想讓View直接和Model對話。這種情況往往發生在所寫的代碼直接訪問數據層而沒有通過適當的業務邏輯層(一個很容易犯的低級錯誤)。下面就讓我們通過刪除這一個“箭頭符號”來解決這個問題:

 

改進方法

在我們刪除這一“箭頭符號”后,我們可以用鼠標右鍵單擊圖形,然后選擇驗證架構(Validate Architecture): 

 

選擇架構驗證

在這里,Visual Studio將會分析所有的依賴關系,并查找其中任何違背這個層次圖的依賴關系,然后錯誤就會出現在錯誤列表中:

錯誤列表

現在,我可以瀏覽并修改我的代碼了,并重復使用驗證架構直到沒有任何錯誤為止。

在構建中執行分層:

這里我有一個清晰的架構和相應的實施方法。我們都知道接下來將發生什么:由于任務被執行、錯誤被修復,該代碼將再次從架構中漂移(drift)。因此我們需要找到一種方法來保持同步。

 

為了解決這個問題,我們將添加一個新的TFS Build Definition,通過運用Gated Check-in來執行這一架構:

TFS Build Definition

當你運用Gated Check-in的時候,所有你提交到TFS的變化抖必須首先通過全部的常規測試。在這種方法中,如果你存在錯誤,所有的變化將不會被應用,也不會進入構建中。在這種情況下,我們只需要在進程選項卡中多加一個步驟即可。

Gated Check-in

此時,構建過程將啟動架構驗證步驟,以防止任何違規事件對TFS進行檢查。

總結:

有幾個關鍵的概念需要明確:

如果你正在寫一個全新的代碼,你可以從邏輯設計開始并朝著實現你設計的方向努力。

如果你是從現有的代碼開始,你將發現你已經擁有的東西,也能朝著一個完美的邏輯設計方向努力。

一旦你的物理和邏輯得到同步,你就可以用防止漂移(drift)的自動方法(如gated check-in)來實現你的設計。

【編輯推薦】

  1. Visual Studio 2010中Parallel類實現并行計算
  2. Visual Studio 2010中C++項目升級指南
  3. Visual Studio 2010中測試用例工作項類型介紹
  4. 在Visual Studio 2010選擇合適的項目測試方法
  5. 細數VS 2003到Visual Studio 2010的開發之路

 

責任編輯:彭凡 來源: 51CTO
相關推薦

2010-09-17 08:50:30

Visual Stud

2010-09-25 08:50:00

Visual Stud

2011-08-02 08:48:58

Visual Stud

2010-02-26 09:18:24

Visual Stud

2009-12-02 09:43:38

Visual Stud

2009-11-10 13:43:37

Visual Stud

2010-04-08 16:49:26

Visual StudMVC 2.0

2009-11-13 09:05:05

Visual Stud

2010-06-29 09:02:59

Visual Stud

2010-02-22 16:43:33

Visual Stud

2009-11-11 09:48:06

Visual Stud

2011-02-13 17:10:28

Visual Stud

2009-11-13 14:59:12

Visual Stud

2010-04-16 14:08:46

Visual Stud

2009-12-11 13:14:45

Visual Stud

2010-04-06 17:32:02

Visual Stud

2022-06-27 17:40:14

大數據數據科學

2009-07-18 16:05:53

光纖拉遠TD-SCDMA

2010-04-12 08:43:45

Visual Stud

2009-11-11 14:26:13

Visual Stud
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品久久久久久久久久 | av一级在线观看 | 国产午夜高清 | 国产精品久久久久久久久久久新郎 | 欧美午夜精品 | 国产精品一区在线观看 | 青青99 | 亚洲一区综合 | 亚洲午夜一区二区 | 国产福利91精品一区二区三区 | 成人av播放| 国产成人免费视频网站高清观看视频 | 天天操夜夜拍 | 欧美日韩在线免费 | 午夜电影福利 | 日韩欧美手机在线 | 国产精品久久久久久久久婷婷 | 性在线| 天天拍天天操 | 在线观看视频福利 | 欧美精品一区在线 | 成年精品 | 日本小电影在线 | 在线看日韩av | 国产欧美视频一区二区三区 | japanhdxxxx裸体| 中文字字幕一区二区三区四区五区 | 久久久人成影片一区二区三区 | 欧美午夜精品久久久久久浪潮 | 男人天堂视频在线观看 | 欧美一级片在线播放 | 在线免费观看毛片 | 欧美精品成人一区二区三区四区 | 免费能直接在线观看黄的视频 | 视频在线观看一区二区 | 日韩在线观看一区二区三区 | 成人免费在线观看 | 精品久久久久久久久久久久久久 | 欧美一级二级在线观看 | 在线国产一区二区 | 91在线免费视频 |