設(shè)計(jì)模式學(xué)習(xí)準(zhǔn)備

           相傳八陣圖是諸葛亮創(chuàng)設(shè)的一種陣法,變化萬(wàn)端,深不可測(cè),可擋十萬(wàn)精兵。UML雖然沒(méi)有那么出神入化,但其重要性是毋庸置疑的,特別是作為一種OO的描述語(yǔ)言。而在這里開(kāi)始的設(shè)計(jì)模式,我將把UML提升到一個(gè)重要的高度,如何判斷你是否熟練掌握了設(shè)計(jì)模式呢?我猜想有兩點(diǎn):
          1. 給你一種設(shè)計(jì)模式的UML描述,你能立即認(rèn)出此為何種設(shè)計(jì)模式,并且精確理解其適用的場(chǎng)景。觀UML,如觀代碼。
          2. 給你一個(gè)需求,你能分解出對(duì)象,以及對(duì)象之間的關(guān)系,并且挑選出合適的設(shè)計(jì)模式,并明確其適用的場(chǎng)景。

              對(duì)于初學(xué)者來(lái)說(shuō),只要達(dá)到觀設(shè)計(jì)模式的UML圖,如觀OO代碼就可以了,其他方面的經(jīng)驗(yàn)都是對(duì)業(yè)務(wù)邏輯的理解,這個(gè)就在對(duì)象以及UML之外了,看你對(duì)生活的理解是否深刻,而非UML描述的應(yīng)用是否熟練了。

              下面介紹一下UML中類(lèi)與類(lèi)之間的關(guān)系,以及最終反映到具體代碼中是什么樣子的。

              假設(shè)有兩個(gè)類(lèi)A和B,接口C,將六大關(guān)系闡述如下(個(gè)人理解,定有不嚴(yán)謹(jǐn)之處)

              A依賴(lài)于B: A類(lèi)的某個(gè)成員方法調(diào)用的參數(shù)中包含B類(lèi)的實(shí)例。

              A繼承于B: 這自不必說(shuō)了。

              A實(shí)現(xiàn)接口C:這個(gè)也不必說(shuō)了。

              A關(guān)聯(lián)B:A類(lèi)的某個(gè)成員變量的類(lèi)型為B。

              A與B是組合關(guān)系: A在邏輯上由B組成,當(dāng)然也可能還有其他的組成部分,B可以是A組成部分之一,A中可能有1個(gè)或者一組B類(lèi)型的成員變量。當(dāng)然AB既然是組合關(guān)系,那么也是屬于關(guān)聯(lián)的范疇的。

             A與B是聚合關(guān)系: A在邏輯上有多個(gè)B組成,這里是除了B沒(méi)有其他的部件是A的部件。A的成員變量中包含B類(lèi)型的聚合。

          以上是對(duì)類(lèi)與類(lèi),類(lèi)與接口的六大關(guān)系的通俗闡述。下面需要大家記住每種關(guān)系的UML符號(hào):

          聚合 (Aggregation):

           

          關(guān)聯(lián)(Association):

          組合(Composition):

          繼承(generalization):

          實(shí)現(xiàn)接口(realization):

          依賴(lài)(Dependency):

          posted on 2013-03-05 14:22 Mr.lu 閱讀(180) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 宜兰市| 广昌县| 乡城县| 花莲市| 子长县| 郎溪县| 大荔县| 新乐市| 阜阳市| 宾阳县| 绥阳县| 浦县| 永兴县| 苍溪县| 旺苍县| 会泽县| 松滋市| 珠海市| 巴彦县| 克山县| 砚山县| 长宁区| 陕西省| 白朗县| 逊克县| 尼玛县| 南通市| 南华县| 太谷县| 北海市| 石河子市| 五莲县| 罗平县| 卓资县| 绍兴市| 东明县| 茌平县| 界首市| 孟津县| 太湖县| 文成县|