改進(jìn)你的實(shí)施方法:
在這里我們有一副圖描述了哪些已經(jīng)被實(shí)際構(gòu)建。但是我對(duì)這幅圖有一個(gè)疑問:在MVC模式中我們不想讓View直接和Model對(duì)話。這種情況往往發(fā)生在所寫的代碼直接訪問數(shù)據(jù)層而沒有通過適當(dāng)?shù)臉I(yè)務(wù)邏輯層(一個(gè)很容易犯的低級(jí)錯(cuò)誤)。下面就讓我們通過刪除這一個(gè)“箭頭符號(hào)”來解決這個(gè)問題:
在我們刪除這一“箭頭符號(hào)”后,我們可以用鼠標(biāo)右鍵單擊圖形,然后選擇驗(yàn)證架構(gòu)(Validate Architecture):
在這里,Visual Studio將會(huì)分析所有的依賴關(guān)系,并查找其中任何違背這個(gè)層次圖的依賴關(guān)系,然后錯(cuò)誤就會(huì)出現(xiàn)在錯(cuò)誤列表中:
點(diǎn)擊放大
現(xiàn)在,我可以瀏覽并修改我的代碼了,并重復(fù)使用驗(yàn)證架構(gòu)直到?jīng)]有任何錯(cuò)誤為止。
在構(gòu)建中執(zhí)行分層:
這里我有一個(gè)清晰的架構(gòu)和相應(yīng)的實(shí)施方法。我們都知道接下來將發(fā)生什么:由于任務(wù)被執(zhí)行、錯(cuò)誤被修復(fù),該代碼將再次從架構(gòu)中漂移(drift)。因此我們需要找到一種方法來保持同步。
為了解決這個(gè)問題,我們將添加一個(gè)新的TFS Build Definition,通過運(yùn)用Gated Check-in來執(zhí)行這一架構(gòu):
點(diǎn)擊放大
當(dāng)你運(yùn)用Gated Check-in的時(shí)候,所有你提交到TFS的變化抖必須首先通過全部的常規(guī)測(cè)試。在這種方法中,如果你存在錯(cuò)誤,所有的變化將不會(huì)被應(yīng)用,也不會(huì)進(jìn)入構(gòu)建中。在這種情況下,我們只需要在進(jìn)程選項(xiàng)卡中多加一個(gè)步驟即可。
點(diǎn)擊放大
此時(shí),構(gòu)建過程將啟動(dòng)架構(gòu)驗(yàn)證步驟,以防止任何違規(guī)事件對(duì)TFS進(jìn)行檢查。
總結(jié):
有幾個(gè)關(guān)鍵的概念需要明確:
- 如果你正在寫一個(gè)全新的代碼,你可以從邏輯設(shè)計(jì)開始并朝著實(shí)現(xiàn)你設(shè)計(jì)的方向努力。
- 如果你是從現(xiàn)有的代碼開始,你將發(fā)現(xiàn)你已經(jīng)擁有的東西,也能朝著一個(gè)完美的邏輯設(shè)計(jì)方向努力。
- 一旦你的物理和邏輯得到同步,你就可以用防止漂移(drift)的自動(dòng)方法(如gated check-in)來實(shí)現(xiàn)你的設(shè)計(jì)。
本文鏈接:http://www.95time.cn/tech/program/2010/7507.asp
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
上一頁 Visual Studio 2010層次驗(yàn)證 [1] 下一頁
◎進(jìn)入論壇網(wǎng)絡(luò)編程版塊參加討論
|