孤楓舞影

          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 麟楓 閱讀(315) 評論(0)  編輯  收藏 所屬分類: 資料

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


          網站導航:
           
          主站蜘蛛池模板: 浑源县| 宜兰县| 京山县| 金沙县| 开阳县| 中卫市| 清远市| 林西县| 铜梁县| 扎鲁特旗| 旺苍县| 平凉市| 锡林郭勒盟| 剑川县| 阿图什市| 泰来县| 泉州市| 友谊县| 开鲁县| 河东区| 盐池县| 吉木萨尔县| 台中市| 喀什市| 陆河县| 蚌埠市| 阿图什市| 宝鸡市| 黔江区| 兴宁市| 徐州市| 高碑店市| 酒泉市| 濉溪县| 崇信县| 大名县| 安丘市| 柞水县| 巨鹿县| 宜丰县| 武冈市|