孤楓舞影

          Victory won't come to me unless I go to it.

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            5 Posts :: 0 Stories :: 2 Comments :: 0 Trackbacks


          1)單一職責原則(single responsibility principle, SRP)

                    就一個類而言,有且僅有一個引起它變化的原因。

                    如果你能夠想到多于一個的動機去改變一個類,那么這個類就具有多于一個的職責。

          2)開放封閉原則(open closed principle, OCP)

                    軟件實體(類,模塊,函數……)應該是可以擴展的,但是不可修改的。

                    1、對于擴展是開放的。

                    2、對于修改是封閉的。

                   對實體進行擴展時,不必改動軟件的源代碼或者二進制代碼。關鍵在于抽象。

                   模式:STRATEGY、TEMPLATE METHOD、BRIDGE

          3)Liskov替換原則(Liskov substitution priciple, LSP)

                   子類型必須能夠替換掉它們的基類型。IS-A關系。

                   基于契約的設計、抽象出公共部分作為抽象基類的設計。

          4)依賴倒置原則(dependence inversion principle, DIP)

                   a、高層模塊不應該依賴于底層模塊,二者都應該依賴于抽象。

                   b、抽象不應該依賴于細節,細節應該依賴于抽象。

                   層次化:所有結構良好的面向對象構架都具有清晰的層次定義,每個層次通過一個定義良好的、受控的接口向外提供一組內聚的服務。

                  依賴于抽象:建議不依賴于具體類,即程序中所有的依賴關系都應該終止于抽象類或者接口。

                  1、任何變量都不應該持有一個指向具體類的指針或者引用。

                  2、任何類都不應該從具體類派生。

                  3、任何方法都不應該覆寫它的任何基類中的已經實現的方法。

                  抽象基類與模板類???

          5)接口隔離原則(interface separate principle, ISP)

                  不應該強迫用戶依賴于他們不用的方法。

                  1、利用委托分離接口。

                  2、利用多繼承分離接口。

                  典型的ADAPTER模式。

           
          posted on 2007-04-22 15:31 麟楓 閱讀(309) 評論(0)  編輯  收藏 所屬分類: 資料

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


          網站導航:
           
          主站蜘蛛池模板: 山阴县| 北海市| 齐齐哈尔市| 四会市| 揭西县| 和顺县| 宜宾市| 阿图什市| 五台县| 恩施市| 灵台县| 游戏| 静乐县| 盐池县| 四川省| 筠连县| 南江县| 贺州市| 安化县| 荆州市| 长乐市| 包头市| 花莲市| 彭阳县| 孝感市| 鄂托克旗| 新营市| 南木林县| 谷城县| 尉犁县| 上饶市| 昌都县| 霞浦县| 翁源县| 昂仁县| 红桥区| 商水县| 明星| 龙江县| 开化县| 丽水市|