Visual Studio 2010中提供了架構和UML的支援,新增了一種ModelingProject類型項目。今天我們來看下<b>Layer Diagram,</b>就是我們最熟悉的多層架構。不過貌似
在UML中并沒有層次圖。
下面是Visual Studio 2010 Beta2中層次圖的工具箱:
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image002_2.jpg"></a>
我們就簡單的畫出我們最為熟悉的三層架構的層次圖,UI-業務邏輯層-資料通路層,如下圖:
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image004_2.jpg"></a>
我們不隻可以簡單的畫出我們的層次架構,最重要的是他可以與我們的程式相結合,下面就舉一個簡單的例子來示範。
首先我們設計了下面程式層次架構:
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image006_2.jpg"></a>
然後建立幾個項目,:
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image008_2.jpg"></a>
各個項目程式如下:
1. Business
namespace Business
{
public class Test:ITest
{
public void Show()
{
Console.WriteLine("Test");
}
}
}
2. CaryLayer
namespace CaryLayer
class Program
static void Main(string[] args)
Test t1 = new Test();
t1.Show();
3. Common
namespace Common
public interface ITest
void Show();
我們可以将項目綁定到我們設計的層上,上圖公共層左上角的1代表隻有一個條目綁定到該層上,我們可以通過Layer Explorer來檢視所有綁定關系,
如下圖:
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image010_2.jpg"></a>
我們還可以通過Architecture Explorer将命名空間,類等綁定到某個層上面,如下圖:
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image012_2.jpg"></a>
上面的工作都完成後,下面就是比較有意思的地方了,在層的右鍵中有兩個選項,如下圖:
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image014_2.jpg"></a>
1.驗證架構(Validate Architecture):可以檢查出我們的程式是否破壞了層次圖中的依賴關系,如果我們的程式中CaryLayer項目中的程式調用了Common項目中的類等就違反了我們設計好的層次圖,在驗證架構的時候就會失敗。
2.生成依賴關系(Generate Dependencies):可以根據我們程式中的調用關系生成層的依賴關系。
我們還可以生成很詳細的依賴關系圖包括程式集,類,命名空間等,如下圖:
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image016_2.jpg"></a>
<a href="http://images.cnblogs.com/cnblogs_com/carysun/WindowsLiveWriter/VisualStudio2010Beta2LayerDiagram_12AD3/clip_image018_2.jpg"></a>
本文轉自生魚片部落格園部落格,原文連結:http://www.cnblogs.com/carysun/archive/2009/11/09/vs2010beta2-layerDiagram.html,如需轉載請自行聯系原作者