面向對象的五大基本原則


1.單一職責原則
Single Responsibility Priciple 對於一個類而言,應該有一個引起它變化的原因。
要符合單一職責原則,那么就要將一個類中的各個功能分開。
比如圖片加載控件,需要將圖片的加載和緩存進行分開。

2.開閉原則
Open Close Principle 軟件中的對象對於擴展是開放的,但是對於修改是封閉的。也就是說軟件修改的時候,應該盡量用擴展進行變化,而不是通過修改已有的代碼。
要符合開閉原則,那么創建接口規范,然后實現接口中的方法來進行修改代碼。
比如圖片加載框架中的圖片的三級緩存,內存緩存,本地緩存。

3.里氏替換原則
Liskov Substitution Principle 所有引用某類的地方必須透明的使用其子類。也就是使用了多態。開閉原則和里氏替換原則是配合使用的,結合使用就是策略模式。

繼承的優點
①代碼重用,每個子類都有父類的方法和屬性
②子類和父類相似,但是又與父類有區別
③提高代碼的可擴展性
繼承的缺點
①繼承是侵入式的,只要繼承就必須擁有父類的所有的屬性和方法
②可能造成子類代碼冗余,缺少靈活性。

4.依賴倒置原則
Dependence Inversion Principle
①高層次的模塊不應該依賴低層次的模塊,應該依賴於其抽象。
②抽象不依賴於細節,細節依賴於抽象。
也就是在具體類中應該盡量使用類的抽象。就像圖片框架中共同使用ImageCache,而不使用其具體的實現類一樣。

5.接口隔離原則

Interface-Segregation Principle

某個類不應該依賴它不需要的接口,應該建立在最小接口上。

簡記:

單一職責原則(SRP)
開放封閉原則(OCP) 
里氏替換原則(LSP) 
依賴倒置原則(DIP) 
接口隔離原則(ISP)
s( Single-Resposibility Principle ): 單一職責原則
o( Open-Closed principle ): 開放封閉原則
l( Liskov-Substituion Principle ): 里氏原則
i( Interface-Segregation Principle ): 接口隔離原則
d( Dependecy-Inversion Principle ): 依賴倒置原則
一個單詞:立方體(solid),很好記!!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM