小哈兒的 學(xué)習(xí)日記

          像瘋子一樣去戰(zhàn)斗!
          posts - 13, comments - 0, trackbacks - 0, articles - 0
          1. 單一職責(zé)原則(SRP):一個(gè)類應(yīng)當(dāng)只有一個(gè)改變的原因,類只需要知道一件事情,它們應(yīng)當(dāng)有一個(gè)單獨(dú)的職責(zé),要點(diǎn)就是當(dāng)一個(gè)類需要改變時(shí),應(yīng)當(dāng)只有一個(gè)原因。
          2. 開放-封閉原則(OCP):軟件實(shí)體(類、模塊、函數(shù)等)應(yīng)當(dāng)為擴(kuò)展而開放,又為修改而封閉。這個(gè)原則有一個(gè)相當(dāng)詳細(xì)的定義,但是一個(gè)簡(jiǎn)單的意思是:你應(yīng)當(dāng)能夠改變一個(gè)模塊的周邊環(huán)境而無(wú)須改變模塊本身。
          3. Liskov替換原則(LSP):子類型(subtypes)必須是為它們的基類型(base types)可替代的。
          4. 依存關(guān)系倒置原則(DIP) :A.高層模塊應(yīng)當(dāng)不依賴低層模塊,它們應(yīng)當(dāng)依賴于抽象。
                                                          B.抽象應(yīng)當(dāng)不依賴于細(xì)節(jié),細(xì)節(jié)應(yīng)當(dāng)依賴于抽象。
            更好的描述是:不要依賴那些容易變化的具體類。如果你要繼承一個(gè)類,從一個(gè)抽象類繼承吧。如果你要持有一個(gè)類的引用,從一個(gè)抽象的類引用吧。如果你要調(diào)用一個(gè)函數(shù),從一個(gè)抽象的函數(shù)調(diào)用吧。
          5. 接口隔離原則(ISP):客戶不應(yīng)當(dāng)依賴那些它們根本不用的方法。

          總結(jié):
          五個(gè)簡(jiǎn)單的原則是:
          1、SRP--一個(gè)類應(yīng)當(dāng)只有一個(gè)發(fā)生變化的原因。
          2、OCP――應(yīng)當(dāng)能夠改變一個(gè)類的環(huán)境,而無(wú)須改變類本身。
          3、LSP――避免造成派生類的方法非法或退化,一個(gè)基類的用戶應(yīng)當(dāng)不需要知道這個(gè)派生類。
          4、DIP ――用依賴于接口和抽象類來(lái)替代依賴容易變化的具體類。
          5、ISP――給一個(gè)對(duì)象的每一個(gè)用戶一個(gè)接口,這個(gè)接口僅有用戶需要的方法。

           

          主站蜘蛛池模板: 淅川县| 富平县| 镇原县| 大冶市| 锡林郭勒盟| 勐海县| 鸡东县| 扶沟县| 云林县| 清河县| 徐汇区| 柳河县| 鄂托克旗| 民和| 铜川市| 中卫市| 通海县| 邹平县| 南陵县| 循化| 大石桥市| 东乌珠穆沁旗| 玉环县| 奇台县| 垦利县| 比如县| 涟水县| 威远县| 卓资县| 虞城县| 绥德县| 政和县| 广州市| 怀来县| 北宁市| 怀远县| 成武县| 平顶山市| 枝江市| 渑池县| 涟源市|