<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    不急不徐,持之以恒。

    http://blog.gopersist.com/

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      24 隨筆 :: 0 文章 :: 52 評論 :: 0 Trackbacks

    開-閉原則(Open-Closee Principle OCP)

     

    一個軟件實體,應當對擴展開放,對修改關閉。

    要求一個軟件系統可以在不修改原有代碼的情況下,通過擴展達到增強其功能的目的。

        

    a. 里氏代換原則(LSP): 任何基類出現的地方,子類一定可以出現。

    b. 依賴倒轉原則(DIP): 要依賴于抽象,不要依賴于實現。

    c. 合成/聚合復用原則(CARP): 要盡量使用合成/聚合,而不是繼承關系達到復用的目的。

    d. 接口隔離原則(ISP): 應當為客戶端提供盡可能小的單獨的接口,而不要提供大的總接口。

    e. 迪米特法則(LoD): 一個軟件實體應當與盡可能少的其他實體發生相互作用。

    只與朋友通信而不與陌生人說話。朋友的定義如下:

    ·         1. 當前對象本身(this);

    ·         2. 以參量形式傳入到當是對象方法中的對象;

    ·         3. 當前對象的實例變量直接引用的對象,如果當前對象的實例變量是一個聚集,則聚集中的元素都是朋友;

    ·         4. 當前對象所創建的對象。

    ·         以上法則的缺點是會產生很多小方法,降低效率,產生困惑。克服方法是使用依賴倒轉原則,建立一個抽象陌生人。

     

    將條件轉移語句改寫成為多態性。如果一個條件轉移語句確實封閉了某種商務邏輯的可變性,此時將可變性封裝起來才符合開-閉原則設計思想,否則就是多態性污染

     

    接口

    單方法接口、標識接口。

    不能使用常量接口。

     

    抽象類

    應盡可能不繼承具體類而只繼承抽象類。

    應當擁有盡可能多的共同代碼,以利于復用。數據應盡可能放到實現類,以減少內存占用。

     

    聯合使用接口和抽象類,即:定義一個接口,再定義一個抽象類實現這一接口,抽象類中將必要的方法實現。這樣做的目的是因為子類只能有一個父類,如果只有抽象類,則類型定義的次要類型將很難做,如果只有接口,則無法對通用部分做實現。 這其實就是缺省適配模式。統一命名規范為:Abstract + 接口名,如:接口Collection,抽象類AbstractCollection

    posted on 2010-03-30 08:44 老林 閱讀(2041) 評論(1)  編輯  收藏 所屬分類: 設計模式

    評論

    # re: 設計原則 2010-03-31 11:07 隔葉黃鶯
    樓主也在看《Java 與模式》呀  回復  更多評論
      


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


    網站導航:
     
    主站蜘蛛池模板: 亚洲依依成人亚洲社区| 91在线亚洲综合在线| 亚洲精品成人无限看| 99ri精品国产亚洲| 亚洲综合一区二区三区四区五区| 67194国产精品免费观看| 性做久久久久久久免费看| 亚洲精品无码av天堂| 亚洲一区二区三区夜色| 无码人妻一区二区三区免费n鬼沢| 在线观看永久免费| 亚洲精品第五页中文字幕| 一级特黄a免费大片| 免费观看黄色的网站| 亚洲午夜未满十八勿入网站2| 亚洲日韩精品无码专区| 日韩视频在线观看免费| 国产乱辈通伦影片在线播放亚洲 | 在线观看亚洲精品福利片| 精品亚洲AV无码一区二区| aa午夜免费剧场| 免费观看大片毛片| 精品亚洲国产成AV人片传媒| 国产精品免费观看| 亚洲韩国—中文字幕| 黄色视频在线免费观看| 免费看片A级毛片免费看| 免费中文字幕视频| 妞干网在线免费视频| 亚洲精品美女久久久久9999| 一个人免费高清在线观看| 羞羞视频免费网站含羞草| 四虎国产精品免费视| 亚洲一区二区三区不卡在线播放 | 亚洲国产aⅴ综合网| 亚洲成a人无码亚洲成www牛牛| 麻花传媒剧在线mv免费观看| 亚洲精品无码久久久久APP| 77777亚洲午夜久久多人| 青娱分类视频精品免费2| 亚洲国产成+人+综合|