開閉原則的概念

          1.   開閉原則的概念  
             
            今天充分理解了什么是開閉原則。  
            原話是“Sofstware   entities   should   be   open   for   extension   ,but   closed   for   modification”  
            一個軟件實(shí)體應(yīng)當(dāng)是對擴(kuò)展開放,對修改關(guān)閉。  
            閻宏的理解是:在設(shè)計一個模塊的時候,應(yīng)當(dāng)是這個模塊可以在不被修改的前提下被擴(kuò)展;應(yīng)當(dāng)可以  
             
            在不必修改源代碼的情況下改變這個模塊的行為。  
             
            2.   開閉原則的思想  
            (1)抽象與具體在程序設(shè)計思想中的體現(xiàn)  
            我覺得就是體現(xiàn)了一種穩(wěn)定中又包含變化的思想。系統(tǒng)的核心結(jié)構(gòu)是相對穩(wěn)定的,在設(shè)計它的時候,  
             
            就要提取可變化的部分,形成對變化的抽象,最后萬變不離其中。可擴(kuò)展的范圍不是任意的,而是在  
             
            你的穩(wěn)定的那部分(對變化的抽象)所允許的范圍內(nèi)。當(dāng)超過了這個范圍那么穩(wěn)定的也要發(fā)生改變。  
            (2)開閉原則在Java中的體現(xiàn)  
            如何控制變化?也就是閻宏所說的“抽象化是關(guān)鍵”。  
            最為精彩的那部分是由于從抽象層導(dǎo)出一個或多個新的具體類可以改變系統(tǒng)的行為,因此系統(tǒng)的設(shè)計  
             
            對擴(kuò)展是開放的。對于這種抽象的方法,在JAVA   中有Java接口和抽象類。  
            (3)對可變性的封裝原則  
            這個概念非常精彩,開閉原則中的“閉”,就是要把這些變化封閉起來。我們在做設(shè)計時要改變思維  
             
            方式:“考慮你的設(shè)計中什么可能會發(fā)生變化。與通常將焦點(diǎn)放到什么會導(dǎo)致涉及改變的思考方式正  
             
            好相反,這一思路考慮的不是什么會導(dǎo)致設(shè)計的改變,而是考慮你允許什么發(fā)生變化而不讓這一變化  
             
            導(dǎo)致重新設(shè)計”。  
             
            這就要求可變性匯集和可變性獨(dú)立   
             
          在需求分析過程中,盡力的區(qū)抓住用戶相對穩(wěn)定的需求,分析變化的需求.

          posted on 2007-04-05 09:19 feeling 閱讀(338) 評論(0)  編輯  收藏 所屬分類: java與模式


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


          網(wǎng)站導(dǎo)航:
           
          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類(2)

          隨筆檔案(13)

          文章分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 镇巴县| 巴彦县| 安国市| 义马市| 中方县| 周口市| 本溪| 芜湖市| 辽宁省| 达尔| 双鸭山市| 石首市| 东兰县| 新晃| 青河县| 山西省| 会昌县| 天长市| 苏尼特左旗| 兰坪| 崇礼县| 沿河| 临洮县| 会东县| 许昌县| 普兰店市| 永寿县| 罗甸县| 钟山县| 大连市| 天全县| 永嘉县| 梧州市| 乌兰察布市| 钟山县| 沁水县| 洪湖市| 白城市| 吴川市| 洛隆县| 保山市|