隨筆-159  評(píng)論-114  文章-7  trackbacks-0
          準(zhǔn)備使用IBM收購(gòu)Rational以后的最新產(chǎn)品RSA 6.0,作為開發(fā)建模工具。

          人寫程序與類在打交道,而在程序運(yùn)行時(shí),是對(duì)象在運(yùn)行。

          人寫的是類型,而動(dòng)態(tài)的是對(duì)象,使機(jī)器在運(yùn)行代碼。

          OO是一種系統(tǒng)建模的技術(shù),是一個(gè)過(guò)程!

          對(duì)對(duì)象進(jìn)行描述。

          在這個(gè)過(guò)程中,要使用UML語(yǔ)言進(jìn)行類型的描述。

          ========================================

          比如模擬達(dá)內(nèi),可以說(shuō)有很多老師對(duì)象和學(xué)生對(duì)象,但在達(dá)內(nèi),關(guān)注學(xué)生這個(gè)個(gè)體什么呢?只關(guān)心姓名,性別,背景,而絕對(duì)不關(guān)心它的婚姻情況。

          可以對(duì)這些對(duì)象進(jìn)行共性的提取,變?yōu)槔蠋燁愋秃蛯W(xué)生類型。而運(yùn)行時(shí)就是一個(gè)個(gè)有特性的實(shí)例。

          ========================================

          什么是對(duì)象,就是一個(gè)屬性確定的實(shí)體。比如找對(duì)象,這個(gè)對(duì)象在你心中早就有特定的要求,那么這樣的一個(gè)對(duì)象肯定是有確定屬性的對(duì)象。是單個(gè)的,唯一的,識(shí)別的實(shí)體。

          那么由于成員變量的值不同,方法調(diào)用的結(jié)果不同。

          所以對(duì)象是構(gòu)建系統(tǒng)的基石。
          它包括:<1>標(biāo)識(shí)也就是引用名
                       <2>數(shù)據(jù)
                       <3>方法

          什么是Class,它是對(duì)對(duì)象的定義。對(duì)于在某一個(gè)環(huán)境下的對(duì)于對(duì)象關(guān)心屬性的提取和抽象。

          ====================================

          面向?qū)ο缶幊痰奶攸c(diǎn)

          1抽象,就是一個(gè)提煉過(guò)程
          2封裝,隱藏細(xì)節(jié)(屬性和私有方法)
          3繼承,上下層次
          4多態(tài)
          --------------------------------------------
          5,關(guān)聯(lián),對(duì)象的依賴程度
          6,聚合
          7,組合
          8,內(nèi)聚&耦合

          1,抽象的目的,主要是隱藏細(xì)節(jié),可以簡(jiǎn)化信息,看到顯著特征。
          2,封裝的目的,隱藏?cái)?shù)據(jù)和行為,
                
                            注意,類有兩個(gè)視圖,對(duì)外視圖(別人使用此類,不關(guān)心實(shí)現(xiàn))
                                                                   內(nèi)視圖(自己拿著代碼,要知道實(shí)現(xiàn))

          3,關(guān)聯(lián)
                      一個(gè)類型使用其他類型對(duì)象的服務(wù)。
          4,聚合
                      一種強(qiáng)關(guān)聯(lián),一個(gè)是另外一個(gè)的組成部分,而不是必要部分。
                      一個(gè)汽車和一個(gè)音響。
          5,組合
                      一個(gè)對(duì)象包含另外一個(gè)對(duì)象
                      一個(gè)是另外一個(gè)組成部分
                      大的東西決定著組成部分的生命周期

          6,繼承,是一種實(shí)現(xiàn)代碼復(fù)用的手段,語(yǔ)言的特性。另外一種代碼復(fù)用的方式就是組合。

                減少代碼量,維護(hù)方便。


          組件的開發(fā)

          在開發(fā)過(guò)程中,要遵循高內(nèi)聚,低耦合的規(guī)律。

          組件內(nèi)部要相互的調(diào)用,來(lái)統(tǒng)一對(duì)外實(shí)現(xiàn)一個(gè)功能,而外界為實(shí)現(xiàn)這個(gè)功能,基本不需要再做什么,那么這個(gè)組件的重用性,就愈高。依賴于別人的越少,那么組件的復(fù)用價(jià)值也就愈高。


          多態(tài)

          有統(tǒng)一的接口,而行為有它的子類型的行為確定。

          運(yùn)行時(shí)多態(tài),就是子類型重寫了父類型virtual方法。

          能使用編譯時(shí)多態(tài)就是用編譯時(shí)多態(tài)。

          ================

          所以可以將上面的幾個(gè)特點(diǎn)按類別分類,比如,單個(gè)類型、類型之間、層次結(jié)構(gòu)、編程規(guī)則。








          評(píng)論:
          # re: OOAD 面向?qū)ο笤O(shè)計(jì)與分析 2006-10-16 13:47 | yelite
          總結(jié)出來(lái)以饗讀者,不錯(cuò)。頂一個(gè)。  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 陈巴尔虎旗| 榆中县| 子长县| 河西区| 大宁县| 南阳市| 神池县| 江山市| 朔州市| 大英县| 凤翔县| 宝鸡市| 西乡县| 喀什市| 梨树县| 鱼台县| 梁平县| 元阳县| 岳普湖县| 敦化市| 上杭县| 兰考县| 舒城县| 青龙| 克山县| 新余市| 咸阳市| 湖口县| 江孜县| 炉霍县| 杭锦旗| 云林县| 揭西县| 建平县| 临高县| 大同市| 漳浦县| 大埔县| 民丰县| 广西| 凤城市|