Java开发的六大基本原则
文章目錄
- 1.單一職責原則
- 2.開放封閉原則
- 3.里氏替換原則
- 4.接口隔離原則
- 5.依賴倒置原則
- 6.迪米特原則
設計模式之禪
Java開發(fā)六大基本原則
1.單一職責原則
單一職責原則(Single Responsibility Principle, SRP):一個類只負責一個功能領域中的相應職責,或者可以定義為:就一個類而言,應該只有一個引起它變化的原因。
舉例:數據庫連接類應該只負責數據庫連接,而不應該添加CRUD功能。
2.開放封閉原則
開閉原則(Open-Closed Principle, OCP):一個軟件實體應當對擴展開放,對修改關閉。即軟件實體應盡量在不修改原有代碼的情況下進行擴展。
為什么:便于代碼復用,如果修改的話還需要看懂原有函數功能,擴展只需要使用原有代碼
3.里氏替換原則
里氏代換原則(Liskov Substitution Principle, LSP):所有引用基類(父類)的地方必須能透明地使用其子類的對象。
在軟件中將一個基類對象替換成它的子類對象,程序將不會產生任何錯誤和異常,反過來則不成立,如果一個軟件實體使用的是一個子類對象的話,那么它不一定能夠使用基類對象。例如:我喜歡動物,那我一定喜歡狗,因為狗是動物的子類;但是我喜歡狗,不能據此斷定我喜歡動物,因為我并不喜歡老鼠,雖然它也是動物。
4.接口隔離原則
接口隔離原則(Interface Segregation Principle, ISP):使用多個專門的接口,而不使用單一的總接口,即客戶端不應該依賴那些它不需要的接口。
接口僅僅提供客戶端需要的行為,客戶端不需要的行為則隱藏起來,應當為客戶端提供盡可能小的單獨的接口,而不要提供大的總接口。在面向對象編程語言中,實現一個接口就需要實現該接口中定義的所有方法,因此大的總接口使用起來不一定很方便,為了使接口的職責單一,需要將大接口中的方法根據其職責不同分別放在不同的小接口中,以確保每個接口使用起來都較為方便,并都承擔某一單一角色。接口應該盡量細化,同時接口中的方法應該盡量少,每個接口中只包含一個客戶端(如子模塊或業(yè)務邏輯類)所需的方法即可,這種機制也稱為“定制服務”,即為不同的客戶端提供寬窄不同的接口。
5.依賴倒置原則
依賴倒轉原則(Dependency Inversion Principle, DIP):抽象不應該依賴于細節(jié),細節(jié)應當依賴于抽象。換言之,要針對接口編程,而不是針對實現編程。
依賴倒轉原則要求我們在程序代碼中傳遞參數時或在關聯(lián)關系中,盡量引用層次高的抽象層類,即使用接口和抽象類進行變量類型聲明、參數類型聲明、方法返回類型聲明,以及數據類型的轉換等,而不要用具體類來做這些事情。為了確保該原則的應用,一個具體類應當只實現接口或抽象類中聲明過的方法,而不要給出多余的方法,否則將無法調用到在子類中增加的新方法。
6.迪米特原則
迪米特法則(Law of Demeter, LoD):一個軟件實體應當盡可能少地與其他實體發(fā)生相互作用。
應該盡量減少對象之間的交互,如果兩個對象之間不必彼此直接通信,那么這兩個對象就不應當發(fā)生任何直接的相互作用,如果其中的一個對象需要調用另一個對象的某一個方法的話,可以通過第三者轉發(fā)這個調用。簡言之,就是通過引入一個合理的第三者來降低現有對象之間的耦合度。
總結
以上是生活随笔為你收集整理的Java开发的六大基本原则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梅克尔工作室-赵一帆-鸿蒙笔记2
- 下一篇: TestNG测试