夢想飛翔

          自強(qiáng)不息
          posts - 111, comments - 30, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          第四章 開---閉原則(OCP)

          Posted on 2009-03-12 09:57 love1563 閱讀(203) 評論(0)  編輯  收藏 所屬分類: 設(shè)計模式

          4.1  什么是開---閉原則

                  開---閉原則講的是:一個軟件實(shí)體應(yīng)當(dāng)對擴(kuò)展開放,對修改關(guān)閉。Software entities should be open for extension,but closed for modification.
                  這個原則說的是,在設(shè)計一個模塊的時候,應(yīng)當(dāng)使這個模塊可以在不被修改的前提下被擴(kuò)展。換言之,應(yīng)當(dāng)可以在不必修改源代碼的情況下改變這個模塊的行為。
                  滿足開---閉原則的設(shè)計可以給一個系統(tǒng)兩個無可比擬的優(yōu)越性:
                  ·通過擴(kuò)展已有的軟件系統(tǒng),可以提供新的行為,以滿足對軟件的新需求,使變化中的軟件系統(tǒng)有一定適應(yīng)性和靈活性。
                  ·已有的軟件模塊,特別是最重要的抽象層不能再修改,這就使變化中的軟件系統(tǒng)有一定的穩(wěn)定性和延續(xù)性。
                  具有這兩個有點(diǎn)的軟件系統(tǒng)是一個在高層次上實(shí)現(xiàn)了復(fù)用的系統(tǒng),也是一個易于維護(hù)的系統(tǒng)。
                                                                                                          4.2  怎樣做到開---閉原則
          玉帝招安美猴王


          不勞師動眾、不破壞天規(guī)便是“閉”,收仙有道便是“開”。招安之法便是玉帝天庭的“開--閉”原則,通過給美猴王封一個“弼馬溫”的官職,便可使現(xiàn)有系統(tǒng)滿足變化了的需求,而不必更改天庭的既有的秩序,如下圖:


                  招安之法的關(guān)鍵便是不允許更改現(xiàn)有的天庭秩序,但允許將妖猴納入現(xiàn)有的秩序中,從而擴(kuò)展了這一秩序。用面向?qū)ο蟮恼Z言來講,不允許更改的是系統(tǒng)的抽象層,而允許擴(kuò)展的是系統(tǒng)的實(shí)現(xiàn)層。


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 海兴县| 资阳市| 永登县| 安西县| 六盘水市| 辽阳市| 东源县| 洪洞县| 南汇区| 金乡县| 措美县| 航空| 孝义市| 涟水县| 呼和浩特市| 黑龙江省| 永川市| 崇义县| 读书| 砚山县| 义马市| 交口县| 麻江县| 宁国市| 旬邑县| 潜山县| 黔西县| 通辽市| 常宁市| 甘孜| 巴彦县| 临武县| 图木舒克市| 莱阳市| 万源市| 景东| 凤山市| 海盐县| 台安县| 运城市| 景宁|