日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

UML类图解义 (来自《大话设计模式》)

發布時間:2023/12/19 asp.net 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UML类图解义 (来自《大话设计模式》) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

小菜:“對了,我時常在一些技術書中看到這些類圖表示,簡單的還看得懂,有些標記我很容易混淆。要不你給我講講吧。”

大鳥:“這個其實多看多用就熟悉了。我給你舉一個例子,來看這樣一幅圖,其中就包括了UML類圖中的基本圖示法。”

UML類圖圖示樣例

大鳥:“首先你看那個‘動物’矩形框,它就代表一個類(Class)。類圖分三層,第一層顯示類的名稱,如果是抽象類,則就用斜體顯示。第二層是類的特性,通常就是字段和屬性。第三層是類的操作,通常是方法或行為。注意前面的符號,‘+’表示public,‘-’表示private,‘#’表示protected。”

大鳥:“然后注意左下角的‘飛翔’,它表示一個接口圖,與類圖的區別主要是頂端有<<interface>>顯示。第一行是接口名稱,第二行是接口方法。接口還有另一種表示方法,俗稱棒棒糖表示法,就是唐老鴨類實現了‘講人話’的接口。”

小菜:“為什么要是‘講人話’?”

大鳥:“鴨子本來也有語言,只不過只有唐老鴨是能講人話的鴨子。”

小菜:“有道理。”

大鳥:“接下來就可講類與類,類與接口之間的關系了。你可首先注意動物、鳥、鴨、唐老鴨之間關系符號。”

小菜:“明白了,它們都是繼承的關系,繼承關系用空心三角形+實線來表示。”

大鳥:“我舉的幾種鳥中,大雁是最能飛的,我讓它實現了飛翔接口。實現接口用空心三角形+虛線來表示。”

大鳥:“你看企鵝和氣候兩個類,企鵝是很特別的鳥,會游不會飛。更重要的是,它與氣候有很大的關聯。我們不去討論為什么北極沒有企鵝,為什么它們要每年長途跋涉。總之,企鵝需要‘知道’氣候的變化,需要‘了解’氣候規律。當一個類‘知道’另一個類時,可以用關聯(association)。關聯關系用實線箭頭來表示。”

大鳥:“我們再來看大雁與雁群這兩個類,大雁是群居動物,每只大雁都是屬于一個雁群,一個雁群可以有多只大雁。所以它們之間就滿足聚合(Aggregation)關系。聚合表示一種弱的‘擁有’關系,體現的是A對象可以包含B對象,但B對象不是A對象的一部分[DPE](DPE表示此句摘自《設計模式》(第2版),詳細摘要說明見附錄二)。聚合關系用空心的菱形+實線箭頭來表示。”

大鳥:“合成(Composition,也有翻譯成‘組合’的)是一種強的‘擁有’關系,體現了嚴格的部分和整體的關系,部分和整體的生命周期一樣[DPE]。在這里鳥和其翅膀就是合成(組合)關系,因為它們是部分和整體的關系,并且翅膀和鳥的生命周期是相同的。合成關系用實心的菱形+實線箭頭來表示。另外,你會注意到合成關系的連線兩端還有一個數字‘1’和數字‘2’,這被稱為基數。表明這一端的類可以有幾個實例,很顯然,一個鳥應該有兩只翅膀。如果一個類可能有無數個實例,則就用‘n’來表示。關聯關系、聚合關系也可以有基數的。”

class Bird

{

?? private Wing wing;

?? public Bird()

?? {

?????? wing = new Wing();

?? }

}

大鳥:“動物幾大特征,比如有新陳代謝,能繁殖。而動物要有生命力,需要氧氣、水以及食物等。也就是說,動物依賴于氧氣和水。他們之間是依賴關系(Dependency),用虛線箭頭來表示。”

abstract class Animal

{

?? public Metabolism (Oxygen oxygen,Water water)

?? {

?? }

}

小菜:“啊,看來UML類圖也不算難呀。回想那天我面試題寫的代碼,我終于明白我為什么寫得不成功了,原來一個小小的計算器也可以寫出這么精彩的代碼,謝謝大鳥。”

大鳥:“吼吼,記住哦,編程是一門技術,更加是一門藝術,不能只滿足于寫完代碼運行結果正確就完事,時常考慮如何讓代碼更加簡練,更加容易維護,容易擴展和復用,只有這樣才可以真正得到提高。寫出優雅的代碼真的是一種很爽的事情。UML類圖也不是一學就會的,需要有一個慢慢熟練的過程。所謂學無止境,其實這才是理解面向對象的開始呢。”

轉載于:https://my.oschina.net/qihh/blog/57381

總結

以上是生活随笔為你收集整理的UML类图解义 (来自《大话设计模式》)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。