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

淺談如何用Visual Studio 2010搭建架構(gòu)

開發(fā) 項(xiàng)目管理
本文將為大家介紹如何用Visual Studio 2010搭建架構(gòu),Layer Diagram (層圖) 基本使用。希望對大家有所幫助。

  Posted on 2011-07-26 10:40 Saar閱讀(185) 評論(0)編輯收藏

  Layer Diagram 最早應(yīng)該出現(xiàn)在TechEd 2008,它不僅可以清晰展示應(yīng)用程序架構(gòu),而且能夠?yàn)閹椭軜?gòu)師隨時(shí)檢驗(yàn)代碼之間的引用關(guān)系是否與層圖一致,可謂既好看又好用。本文以Visual Studio 2010為例,一步步看來看如何為一個(gè)應(yīng)用程序創(chuàng)建層圖并且以此來對應(yīng)用程序進(jìn)行校驗(yàn)。

  首先來看“好看”的部分,這是我為最近的一個(gè)小項(xiàng)目畫的層圖:

  呵呵,我美工功底較差,顏色問題啥的大家湊合一下吧;這個(gè)層圖“好看”在于:

  其一,它把整個(gè)解決方案的架構(gòu)信息清楚的呈現(xiàn)出來了(色塊)——從***下的數(shù)據(jù)訪問,中間的業(yè)務(wù)邏輯,夾在業(yè)務(wù)邏輯和ViewModel中間的服務(wù),再到上面的ViewModel和UI,一目了然;

  其二,各層之間的依賴關(guān)系明確(箭頭)——服務(wù)層依賴于業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層依賴于數(shù)據(jù)訪問層,這三個(gè)層都依賴于實(shí)體層,實(shí)體層不依賴于任何其它層……

  怎么畫出來的?以一個(gè)最簡單的三層架構(gòu)的代碼為例:

  創(chuàng)建一個(gè)三層架構(gòu)的項(xiàng)目,或者你敢不敢下載下面的代碼試試^v^:

 ?。║I-BLL-DAL)

 ?。ㄓ捎谑窍螺d的代碼,VS可能會有安全提示)

  點(diǎn)擊主菜單Architecture –>New Diagram:

選擇“Layer Diagram”,給它取個(gè)名字:

此時(shí),VS會要求我們建一個(gè)Modeling的項(xiàng)目來容納層圖。

一樣,取名,確定就行了。

  這樣,我們的***個(gè)層圖就創(chuàng)建好了——空的啊。

  讓我們來給它添一些層。首先,從UI開始,點(diǎn)擊工具箱里的層,然后,在層圖設(shè)計(jì)器上點(diǎn)擊一下,一個(gè)層就建好了。雙擊Layer1,改名叫“UI”。

同樣操作,我們?yōu)锽LL、DAL和Entity建立各自的層。

  為層與層之間設(shè)置依賴關(guān)系。從工具箱選擇“依賴”(單向箭頭),從UI畫向BLL,表示:UI對BLL有直接依賴。同樣的方法,讓BLL依賴于DAL,這三個(gè)層同時(shí)依賴于Entity。

  接下來,我們就要在層與實(shí)體項(xiàng)目之間建立映射。這里有一些選項(xiàng),我們可以將層映射到文件、Assemblies、命名空間、類等,映射關(guān)系的建立也可以通過解決方案瀏覽器或者架構(gòu)瀏覽器來完成。這里這使用架構(gòu)瀏覽器為例,在層與命名空間之間建立映射關(guān)系。

  打開架構(gòu)瀏覽器:主菜單 –>Architecture –>Windows –>Architecture Explorer。

  點(diǎn)擊Class View –>然后,把Simple3Tier.UI拽到UI層上,這樣,我們就把Simple3Tier.UI映射到了UI層上。

  這樣,我們就可以看到UI層右上角多了一個(gè)1,表明它與一個(gè)對象形成了映射關(guān)系,同時(shí),點(diǎn)擊層圖上的UI,在右側(cè)的層瀏覽器(Layer Explorer)中,我們可以看到它到底映射到哪一個(gè)對象。

  同樣,我們把BLL/DAL/Entity分別映射到對應(yīng)的圖形上。我們這樣項(xiàng)目的層圖就大功告成了:

  完成了層圖,就可以用來驗(yàn)證應(yīng)用程序了。讓我們右擊空白區(qū)域,點(diǎn)擊“驗(yàn)證架構(gòu)”。如果你是下載的上文中提供的項(xiàng)目,那么,就應(yīng)該“中招”了^v^——3個(gè)錯(cuò)誤:

  我們稍微看一下錯(cuò)誤信息:看來是因?yàn)閁I對DAL有依賴。而我們的層圖中沒有這樣的依賴關(guān)系——或者不允許這種依賴關(guān)系的存在。

  因此,至少有兩種改法,***,給層圖添加一個(gè)依賴關(guān)系:從UI到DAL。我想大部分時(shí)間我們不會這么做,大家懂的;第二,修改代碼。

  我們以修改代碼為例,雙擊一行錯(cuò)誤,層圖會幫助我們定位到代碼(Main方法),修改代碼如下:

  1. BizClass bizClass = newBizClass();  
  2.  var result = bizClass.GetMessage();  
  3. // DAL.DataClass dataClass = new DAL.DataClass();  
  4. // var result = dataClass.GetMessager().Message;   
  5.  System.Console.WriteLine(result); 

  右擊錯(cuò)誤,點(diǎn)擊“Go to”,選擇“層圖”?;氐綄訄D后,重點(diǎn)右擊驗(yàn)證。再看Error List,錯(cuò)誤就沒有了。

  層圖可以幫助我們校驗(yàn)代碼依賴關(guān)系。當(dāng)代碼依賴關(guān)系與架構(gòu)不符時(shí),層圖可以幫助我們找到錯(cuò)誤代碼,以保證整個(gè)架構(gòu)不被破壞。這一點(diǎn)在大型項(xiàng)目多人開發(fā)時(shí)非常重要。

  如果想要在Build時(shí)自動(dòng)進(jìn)行架構(gòu)校驗(yàn),只要修改層圖文件的Build Action屬性為Validate就可以了。

資源:

  Existing Layer Diagrams: Application Architecture Guide Layer Diagrams

  Skinner’s Blog: Layer Diagram

  MSDN:Layer Diagrams: Guidelines

  MSDN: How to: Create Layer Diagrams from Artifacts

  Little knowledge is dangerous.

原文鏈接:http://www.cnblogs.com/xiaomi7732/archive/2011/07/27/2117806.html

【編輯推薦】

  1. VS.NET 2010已經(jīng)發(fā)布了beta2版本 新功能
  2. 初步了解Visual Studio 2010 Professional專業(yè)版
  3. Visual Studio 2010中使用MTLM管理測試工具
  4. Visual Studio 2010 SP1公測版已經(jīng)發(fā)布
  5. Visual Studio 2010中敏捷開發(fā)流程模板的應(yīng)用
     
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-12-11 13:14:45

Visual Stud

2009-10-27 09:12:50

Visual Stud

2011-08-25 09:32:30

Visual Stud

2010-03-15 08:58:46

2010-02-26 09:18:24

Visual Stud

2009-12-02 09:43:38

Visual Stud

2010-05-13 09:21:44

F#Visual Stud

2009-11-10 13:43:37

Visual Stud

2010-09-25 08:50:00

Visual Stud

2009-11-11 09:48:06

Visual Stud

2010-02-22 16:43:33

Visual Stud

2010-09-17 08:50:30

Visual Stud

2010-07-12 16:40:39

Visual Stud

2009-12-02 09:50:07

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

2009-11-13 10:06:22

Visual Stud

2010-04-12 08:43:45

Visual Stud
點(diǎn)贊
收藏

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