簡(jiǎn)單分析Visual Studio類圖表
Visual Studio還是比較常用的,于是我研究了一下Visual Studio類圖表,在這里拿出來(lái)和大家分享一下,希望對(duì)大家有用。在我之前的文章中,介紹應(yīng)用程序設(shè)計(jì)器,我設(shè)想了一個(gè)Web服務(wù),ExchangeRateService,,它的目的是提供最近的在兩個(gè)指定流通中交換的速率。我也設(shè)想了一個(gè)分開的Web服務(wù),允許一些指定在一個(gè)流通被修改到另一個(gè)流通中。在此我也將在示例上畫出圖,但我不會(huì)強(qiáng)制你重新去看之前的那篇文章。
#T#因此,什么是這些Web服務(wù)的錯(cuò)誤呢?它們工作中什么都沒(méi)有,除了它們的有效性通過(guò)事實(shí)被限制,每個(gè)服務(wù)返回一個(gè)單一的值-交換速率或轉(zhuǎn)換數(shù)量,分別地-做為一個(gè)double值。對(duì)于一次性轉(zhuǎn)化很好,但如果我想保留fromAmount,toAmount,數(shù)據(jù)/時(shí)間,轉(zhuǎn)換速率,有關(guān)的兩個(gè)流通的歷史記錄就沒(méi)有用了。
一個(gè)增強(qiáng)的ExchangeRateService,優(yōu)于返回一個(gè)double值,將返回一個(gè)ExchangeRate實(shí)體保持?jǐn)?shù)據(jù)時(shí)間,速率(交換的),fromCurrency (代碼),和toCurrency (代碼),速率是可用的。
一個(gè)增強(qiáng)的CurrencyConverterService,由于返回一個(gè)double值,將返回一個(gè)ExchangeTransaction實(shí)體保持轉(zhuǎn)化的fromAmount和toAmount。這些顯示在了圖2的左側(cè)。
我使用這些點(diǎn)的詞實(shí)體來(lái)強(qiáng)調(diào)在我想法中第一個(gè)刪掉的分析或區(qū)域,模型。在正當(dāng)?shù)倪^(guò)程中,我將提煉這些實(shí)體到一個(gè)設(shè)計(jì)模型中,指出實(shí)體將變?yōu)轭惡推渌愋?,如枚舉。
注意:如果你繼續(xù)看,你將看到CurrencyCode已經(jīng)標(biāo)記為一個(gè)枚舉;就像一個(gè)使用Visual Studio 2005類設(shè)計(jì)器畫出這些分析模型的結(jié)果。這個(gè)階段我使用了其它的工具(之后說(shuō)明),在這個(gè)例子中不需要出現(xiàn)。 創(chuàng)建一個(gè)分析Visual Studio類圖表
在你開始做任何類模型之前,你需要一個(gè)Visual Studio 項(xiàng)目包含至少一個(gè)Visual Studio類圖表。你能夠添加一個(gè)Visual Studio類圖表到任何類型的項(xiàng)目,但我選擇一個(gè)類庫(kù)項(xiàng)目,因?yàn)槲掖蛩憬⒁粋€(gè)可再利用的類庫(kù)-或API-來(lái)支持流通轉(zhuǎn)換功能。
因此,我使用File | New | New Project 菜單選項(xiàng)來(lái)建立一個(gè)新的項(xiàng)目,并且我選擇C#項(xiàng)目類型的類庫(kù)模板。我命名這個(gè)項(xiàng)目為CurrencyClassLibrary。
注意:盡管我選擇了演示類設(shè)計(jì)使用C#語(yǔ)言,但這之后我所描述的程序設(shè)計(jì)類也會(huì)使用Visual Basic 和其它.NET 語(yǔ)言。一旦項(xiàng)目倍建立,使用Project | Add New Item菜單選項(xiàng)就能將一個(gè)類的圖表添加到項(xiàng)目中。選擇Visual Studio類圖表模板并給它一個(gè)適當(dāng)?shù)拿?,我的例子中命名為AnalysisClasses.cd。
這個(gè)工具箱提供了所有的類型-包括枚舉,結(jié)構(gòu),類等等-你能夠使用它移到Visual Studio類圖表中。回憶在開始階段,我說(shuō)了通常類型和指定類的細(xì)微差別。讓我們更詳細(xì)地看看這些差別。
畫出分析Visual Studio類圖表
我將提供如何使用Visual Studio 2005類設(shè)計(jì)器畫出最初Visual Studio類圖表的說(shuō)明。做完之后,我將建立一個(gè)如圖2所顯示的圖表,你能夠看到它的必要性。