面向對象六大原則
單一職責原則 Single Responsibility Principle
一個類中應該是一組相關性很高的函數、數據的封裝
開閉原則 Open Close Principle
軟件中的對象(類、模塊、函數等)應該對於擴展是開發的,但是對於修改是封閉的。
里氏替換原則 Liskov Substitution Principle
所有引用基類的地方必須能透明地使用其子類地對象。
依賴倒置原則 Dependence Inversion Principle
指代了一種特定的解耦形式,使得高層次的模塊不依賴於低層次的模塊的實現細節的目的,依賴模塊被顛倒了。
- 高層模塊不應該依賴低層模塊,兩者都應該依賴其抽象
- 抽象不應該依賴細節
- 細節應該依賴抽象
在java語音中,抽象就是指接口或抽象類,細節就是實現類,高層模塊就是調用端,低層模塊就是具體實現類
依賴倒置:模塊間的依賴通過抽象發生,實現類之間不發生直接的依賴關係,其依賴關係是通過接口或抽象類產生的。
接口隔離原則 Interface Segregation Principe
客戶端不應該依賴它不需要的接口。
類間的依賴關係應該建立在最小的接口上。
迪米特原則 Law of Demeter
一個對象應該對其他對象有最少的瞭解。