OOPL的三大機制:
– 封裝任内,隱藏內(nèi)部實現(xiàn)
– 繼承榜揖,復(fù)用現(xiàn)有代碼
– 多態(tài)强挫,改寫對象行為
OOP 六大設(shè)計原則
- SRP(Single Resposibility Principle)仰楚,單一職責(zé)原則隆判。
核心思想:一個軟件實體如類、模塊和函數(shù)應(yīng)該對擴展開放僧界,對修改關(guān)閉(高內(nèi)聚侨嘀,低耦合)。
也就是說每個類應(yīng)該只有一個職責(zé)捂襟,對外提供一種職能咬腕,而引起類變化的原因應(yīng)該只有一個。
- OCP(Open-Closed Principle)葬荷,開放封閉原則涨共。
核心思想:一個對象對擴展開發(fā),對修改關(guān)閉宠漩。
也就是說是通過添加代碼完成的举反,而不是通過修改代碼完成
- LSP(Liskov Substitution Principle),Liskov替換原則(里氏轉(zhuǎn)換原則)扒吁。
核心思想:在任何父類出現(xiàn)的地方子類都可以替換火鼻。
也就是說同一個繼承體系中的對象應(yīng)該有共同的行為特征
- ISP(Interface Insolation Principle),接口隔離原則雕崩。
核心思想:不應(yīng)該強迫程序依賴它們不需要使用的方法
也就是說一個接口不需要提供太多的行為魁索,一個接口應(yīng)該只提供一種對外的功能,不應(yīng)該把所有的操作都封裝到一個接口中盼铁。
5.DIP(Dependency Inversion Principle)粗蔚,依賴倒置原則。
核心思想:一個對象應(yīng)當(dāng)對其他對象盡可能少的了解捉貌。
也就是說降低各個對象之間的耦合支鸡,提高系統(tǒng)的可維護性。在模塊之間應(yīng)該只通過接口編程趁窃,而不理會模塊的內(nèi)部工作原理牧挣,它可以使各個模塊耦合度降到最低,促進軟件的復(fù)用醒陆。
- LoD(Law Of Demeter or Principle of Least Knowledge)瀑构,迪米特原則。
核心思想:一個對象應(yīng)當(dāng)對其他對象盡可能少的了解
也就是說降低各個對象之間的耦合,提高系統(tǒng)的可維護性寺晌。在模塊之間應(yīng)該只通過接口編程世吨,而不理會模塊的內(nèi)部工作原理,它可以使各個模塊耦合度降到最低呻征,促進軟件的復(fù)用耘婚。