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

用好Visual Studio 2010進行層架構設計

原創
開發 后端
本文將為大家講述如何使用微軟Visual Studio 2010進行層架構設計,同時還將講到逆向工程方面的內容。

【51CTO獨家特稿】微軟已經把VS 2010(Visual Studio 2010 Ultimate)功能融入到軟件應用生命周期管理(ALM)中。在架構設計方面則是通過新的架構層關系圖(Architecture Layer Diagram),以圖形化的方式描述系統架構,從而使得項目中的技術人員或非技術人員都能以模型透過圖形化的方式進行協作與設計,以及定義企業的系統功能。

Visual Studio 2010提供針對不同功能層面的分析工具來輔助程序代碼進行逆向工程。Layer Diagram可從高階面來看架構;Architecture Explorer能從特定點切入,只探索我們所關心的部分;.NET Class Diagram則可分析詳細部分的Class結構。逆向工程類型可分為靜態與動態,靜態指的是整個程序代碼的靜態結構,如組件或類別間的關系;動態則是程序代碼執行的順序,如某個程序代碼區段相關方法調用與響應順序。

靜態的逆向工程,主要有三個工具:Architecture Explorer、Layer Diagram和Class Diagram。Layer Diagram可以讓我們以高層角度來分析整個軟件結構,細膩程度可以自由選擇,從項目、Namespace、Classs、到方法都可以。本文將重點講述VS2010靜態逆向工程(Static Reverse Engineering)在軟件架構層關系圖設計方面的新功能應用。

Visual Studio 2010架構層關系圖設計

在現實的項目中,我們需要分析別人的代碼,或者約束團隊的代碼架構。當我們已經對現有程序的基本架構有了初步了解時,則想對現有架構進行進一步的分析并維護代碼架構的邏輯。例如,當我們的項目為模型-視圖-控制器(MVC,Model View Controller)架構風格創建架構應用的時候,讓我們確保它是實際執行的方式。

(1)創建一個層圖(Building a Layer Diagram)

首先,讓我們創建一個新層架構使用菜單(命令為Architecture|New Diagram|Layer Diagram)。創建一個空層圖,在圖層設計器中可以指定設計(在Toolbox中拖曳元素實現層設計)架構層,可以得到所有我們所確定的形式與基本層,如圖1所示。

 設計MVC架構層圖類的實現

圖1  設計MVC架構層圖類的實現

如上圖所示,這是一個典型的軟件架構,需要實現物理與邏輯架構圖的關聯,我們通過拖動相應的執行層與實際類來實現。當放入圖層類實現后,我們可以在該系統中用鼠標右鍵單擊設計圖面,在彈出的菜單中選擇Generate Dependencies(生成依賴)命令,來建立依賴關系。

一旦完成這一過程,最后將得到一個架構層圖。層管理器(Layer Explorer)可以用來看到每一層的內容,以及架構層彼此之間的關系。

(2)更新實現(Updating Your Implementation)

在MVC架構模式中,我們不希望看到“Web→Model”層的直接對話模式,這種情況往往發生在團隊中其他人編寫的代碼直接訪問了數據層,而不通過合適的業務邏輯(這是一個非常容易犯的錯誤)。可以通過圖層設計器刪除依賴線來解決。當刪除依賴線后,可以用鼠標右鍵單擊圖形,在彈出菜單中選擇Validate Architecture(驗證架構)命令,如圖2所示。

 刪除錯誤邏輯 錯誤結果列表

圖2  刪除錯誤邏輯

Visual Studio將分析所有的依賴和任何違反該層圖關系的查詢。這個錯誤結果將會出現在錯誤列表中,如圖3所示。 

錯誤結果列表

圖3  錯誤結果列表

現在,我們可以通過修復自己的代碼,重復驗證架構體系直到沒有違反層關系的代碼依賴出現為止。

(3)執行中生成分層(Enforcing Layering in the Build)

我們要保持一個干凈的架構,并且知道未來將發生的問題,例如,對錯誤的分析和驗證,可以審視到架構代碼漂移,執行開發任務時進行對該錯誤的修復。我們需要一種方法來保持同步(sync)。為了解決這個問題,我們將添加一個新的TFS生成定義,將使用門控簽入(Gated Check-in)來執行架構,如圖4所示。

設置簽入方式

圖4  設置簽入方式

當使用門控簽入后,提交所有更改到TFS中時,必須先通過所有正常的測試(干凈的構建、通過測試用例等),現在構建的做法將符合驗證步驟,并通過在TFS中的檢測來防止更多的風險侵入。

如果進行全新的代碼開發,我們就可以在開始階段通過層圖來進行邏輯設計,并努力執行設計方案,保證開發階段與設計不偏離,團隊人員的代碼不漂移出架構。如果從現有的資源框架開始,我們也可以通過Visual Studio 2010的層圖功能找到理想的邏輯分析與設計工作方法。一旦我們的物理和邏輯同步,就可以通過自動化(例如門控簽入)進行強制執行,避免“漂移”發生。

【編輯推薦】

  1. Visual Studio 2010 TFS探索之旅
  2. Visual Studio 2010讓敏捷開發和云計算落地
  3. Visual Studio 2010敏捷之道 
  4. 詳解Visual Studio 2010敏捷功能(上) ALM探秘
  5. 詳解Visual Studio 2010敏捷功能(下) 強化測試功能
責任編輯:彭凡 來源: 51CTO
相關推薦

2010-07-12 16:40:39

Visual Stud

2010-03-15 08:58:46

2010-02-26 09:18:24

Visual Stud

2010-09-25 08:50:00

Visual Stud

2009-12-02 09:43:38

Visual Stud

2009-11-10 13:43:37

Visual Stud

2011-08-02 08:48:58

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

2010-03-30 17:27:47

Visual Stud

2012-06-07 10:22:48

架構設計邏輯層物理層

2010-04-12 08:43:45

Visual Stud

2009-11-11 14:26:13

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

2012-06-07 10:35:40

架構設計業務邏輯Java
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产精品福利 | 日韩欧美成人一区二区三区 | 日本精品视频 | 欧美精品一区二区三区在线 | 国产在线观看av | 亚洲欧美网 | 亚洲视频三区 | 国产极品粉嫩美女呻吟在线看人 | 婷婷综合 | 亚洲精品一区二区三区四区高清 | 国产精品久久久久久久久久久新郎 | 亚洲 中文 欧美 日韩 在线观看 | 羞羞羞视频| 亚洲精品乱码久久久久久按摩观 | a级毛片毛片免费观看久潮喷 | 91久久久久久 | 99欧美精品 | 国产精品免费在线 | 中文字幕亚洲在线 | 日本福利在线观看 | 无码一区二区三区视频 | 在线播放国产一区二区三区 | 一级欧美视频 | 国产成人精品一区二区 | 日韩在线视频免费观看 | 91天堂| 97国产精品视频 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 欧美日韩国产精品一区 | 91原创视频在线观看 | 在线免费黄色小视频 | 青青草网站在线观看 | 中文字幕乱码一区二区三区 | 日韩欧美亚洲 | 午夜精品一区二区三区在线视频 | 曰批视频在线观看 | 国产伦精品一区二区 | 91亚洲国产成人久久精品网站 | 久国久产久精永久网页 | 美女黄色在线观看 | 黄色一级大片在线观看 |