面向對象思想——面向對象設計原則

簡稱SOLID編程

1. 單一職責原則spa

  職責定義爲引發變化的緣由。一個類,最好只作一件事,只有一個引發它的變化。不要爲類實現過多的功能點,以保證明體只有一個引發它變化的緣由。職責過多,可能引發它變化的緣由就越多,這將致使職責依賴,相互之間就產生影響,從而大大損傷其內聚性和耦合度。.net

2. 開放封閉原則設計

  對擴展開放,對修改封閉的。體如今兩個方面一、對擴展開放,意味着有新的需求或變化時,能夠對現有代碼進行擴展,以適應新的狀況。二、對修改封閉,意味着類一旦設計完成,就能夠獨立完成其工做,而不要對其進行任未嘗試的修改。
      實現的核心思想就是對抽象編程,而不對具體編程,由於抽象相對穩定。讓類依賴於固定的抽象,因此修改就是封閉的;而經過面向對象的繼承和多態機制,又能夠實現對抽象類的繼承,經過覆寫其方法來改變固有行爲,實現新的拓展方法,因此就是開放的
3. 替換原則對象

  子類必須可以替換其基類。繼承必須確保超類所擁有的性質在子類中仍然成立。」也就是說,當一個子類的實例應該可以替換任何其超類的實例時,它們之間才具備is-A關係。將基類替換爲子類,程序的行爲不會發生任何變化。這一約束反過來則是不成立的。繼承而且覆蓋超類方法的時候,子類中的方法的可見性必須等於或者大於超類中的方法的可見性,子類中的方法所拋出的受檢異常只能是超類中對應方法所拋出的受檢異常的子類。blog

4. 依賴倒置原則繼承

    依賴於抽象。具體而言就是高層模塊不依賴於底層模塊,兩者都同依賴於抽象。依賴於抽象,就是對接口編程,不要對實現編程。
     依賴必定會存在於類與類、模塊與模塊之間。當兩個模塊之間存在緊密的耦合關係時,最好的方法就是分離接口和實現:在依賴之間定義一個抽象的接口使得高層模塊調用接口,而底層模塊實現接口的定義,以此來有效控制耦合關係,達到依賴於抽象的設計目標。
    抽象的穩定性決定了系統的穩定性,由於抽象是不變的,依賴於抽象是面向對象設計的精髓,也是依賴倒置原則的核心。接口

5. 接口隔離原則  擴展

  一個類對另一個類的依賴應該創建在最小的接口上,不要強迫依賴不用的方法。一個接口表明一個角色,不該當將不一樣的角色都交給一個接口。請求

    分離的手段主要有如下兩種:一、委託分離,經過增長一個新的類型來委託客戶的請求,隔離客戶和接口的直接依賴,可是會增長系統的開銷。二、多重繼承分離,經過接口多繼承來實現客戶的需求,這種方式是較好的。

 參考:http://blog.csdn.net/luxiaoxun/article/details/8041885

相關文章
相關標籤/搜索