常見的面向對象設計原則

常見的面向對象設計原則

 

一、單一職責原則SRP(Single Responsibility Principle)

        一個類應該僅有一個引起它變化的原因。防止多個變化原因互相干擾,造成上層調用出錯。

二、開放-關閉原則OCP(Open-Closed Principle)

        一個類應該對擴展開放,對修改關閉。通過合理抽象,分離出變化與不變化的部分,爲變化的部分預留可擴展的方式。

三、里氏替換原則LSP(Liskov Substitution Principle)

       子類型必須能夠替換掉它們的父類型。防止多態造成隱藏錯誤。

四、依賴倒置原則DIP(Dependence Inversion Principle)

       要依賴於抽象,不要依賴於具體類。高,低層模塊都依賴於抽象,不是具體實現類。高、低層模塊的需求決定抽象的層次和實現。

五、接口隔離原則ISP(Interface Segregation Principle)

        不應該強迫客戶依賴於他們不用的方法。通過代碼分離或使用委託來分離接口,在支持多重繼承的語言中,可以採用多重繼承的方式進行分離,防止對客戶沒用的接口對使用造成污染。

六、最少知識原則LKP(Least Knowledge Principle)

         應該儘量減少對象之間的交互,對象只和自已的朋友交互,從而鬆散類之間的耦合。

七、面向接口編程(Program to an interface, not an implementation)

         面向對象編程中的一種思想,即以抽象的東西去設計整個系統中的規則和交互,而不是具體實現的事物。

八、優先使用組合,而非繼承

         繼承會破壞封裝性,也無法實現運行期的行爲控制。

學習記錄,後續有時間再豐富具體內容。也歡迎大家討論。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章