描述Visual Studio ExchangeRate類
Visual Studio經(jīng)過長時間的發(fā)展,很多用戶都很了解Visual Studio ExchangeRate類了,這里我發(fā)表一下個人理解,和大家討論討論。如果你回看原始分析類圖表,你將看到Visual Studio ExchangeRate類有兩個屬性, fromCurrency 和 toCurrency,都是CurrencyCode類型。相同的圖表顯示了CurrencyCode做為一個枚舉,因此你能夠看到這些屬性允許的值。
#t#在設(shè)計類圖表中,你能看到屬性不再是可見的,但兩條適當(dāng)?shù)倪B接線畫在Visual Studio ExchangeRate類CurrencyCode枚舉中。這是更直觀地方法來顯示交換速率和流通代碼之間的關(guān)系,并且如果你使用過UML,這些你將會非常熟悉。
在“屬性”表示和“關(guān)聯(lián)”表示之間切換是很簡單的,右鍵點擊每個屬性并從內(nèi)容菜單中選擇Show As Association 即可;并且可以右鍵點擊關(guān)聯(lián)線并從內(nèi)容菜單中選擇Show As Property 即可切換回來。這兩種查看是個人喜好的問題,在代碼中是分辨不出來的。
注意: 一些UML工具通過不同方法提供了這些特性。它們允許成員類型根據(jù)預(yù)先確定的規(guī)則既被表示為屬性也被表示為關(guān)聯(lián)基本類型。例如,一個字符串對象能夠被指定為一個基本類型,以至于所有的字符串在UML中總被顯示屬性而不是關(guān)聯(lián)一個String類。
這有一個我添加的額外的關(guān)聯(lián),是在ExchangeTransaction類和ExchangeRate類中的一個關(guān)聯(lián)。這是為了任何交換處理的,我不僅能偵測到from—and to- amounts ,還能夠偵測到在強制時間轉(zhuǎn)換-加上兩個有關(guān)的流通的交換速率。
因為這個關(guān)聯(lián)當(dāng)前不存在,我必須通過工具箱中的關(guān)聯(lián)條目添加它,點擊ExchangeTransaction 類,并且拖動到Visual Studio ExchangeRate類,我能夠重命名這個關(guān)聯(lián),但默認的名字ExchangeRate 已經(jīng)很好了。
執(zhí)行屬性(再次訪問)
當(dāng)類是機器對你來說是新的時,做為軟件專家有一些很好的機會你將設(shè)置合理化優(yōu)先級,現(xiàn)在最終的關(guān)聯(lián)被成形了。
確實不需要在ExchangeTransaction類上保持toAmt 區(qū)域很多,因為toAmount 能夠從fromAmt 中計算出來,以及ExchangeRate 關(guān)聯(lián)/屬性的好處。因此,toAmt 區(qū)域能夠被刪除并且toAmount 屬性能夠被如下所示執(zhí)行:
- public double toAmount
- {
- get
- {
- // return toAmt;
- return fromAmt * ExchangeRate.Rate;
- }
- }
注意因為我計算了toAmount,屬性現(xiàn)在應(yīng)該是只讀的。這就是說,沒有“設(shè)置”阻礙。我將這些更正給你自己的決定。