設計模式學習準備

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

              對于初學者來說,只要達到觀設計模式的UML圖,如觀OO代碼就可以了,其他方面的經驗都是對業務邏輯的理解,這個就在對象以及UML之外了,看你對生活的理解是否深刻,而非UML描述的應用是否熟練了。

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

              假設有兩個類A和B,接口C,將六大關系闡述如下(個人理解,定有不嚴謹之處)

              A依賴于B: A類的某個成員方法調用的參數中包含B類的實例。

              A繼承于B: 這自不必說了。

              A實現接口C:這個也不必說了。

              A關聯B:A類的某個成員變量的類型為B。

              A與B是組合關系: A在邏輯上由B組成,當然也可能還有其他的組成部分,B可以是A組成部分之一,A中可能有1個或者一組B類型的成員變量。當然AB既然是組合關系,那么也是屬于關聯的范疇的。

             A與B是聚合關系: A在邏輯上有多個B組成,這里是除了B沒有其他的部件是A的部件。A的成員變量中包含B類型的聚合。

          以上是對類與類,類與接口的六大關系的通俗闡述。下面需要大家記住每種關系的UML符號:

          聚合 (Aggregation):

           

          關聯(Association):

          組合(Composition):

          繼承(generalization):

          實現接口(realization):

          依賴(Dependency):

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


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          <2013年3月>
          242526272812
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆檔案

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 河津市| 玉树县| 呼玛县| 新泰市| 肥西县| 开江县| 河北区| 余姚市| 栾川县| 旬邑县| 石嘴山市| 原平市| 安徽省| 临江市| 公主岭市| 米易县| 梧州市| 惠来县| 临颍县| 大连市| 驻马店市| 房产| 吉首市| 和林格尔县| 娄底市| 南平市| 徐水县| 封开县| 长岭县| 佛坪县| 广丰县| 尤溪县| 广河县| 淳安县| 广安市| 甘泉县| 大名县| 梨树县| 松阳县| 德清县| 班戈县|