您好,登錄后才能下訂單哦!
本篇內容介紹了“SOLID設計原則有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
SOLID原則是由羅伯特·C·馬丁在21實際早期引入的面向對象編程和面向對象設計的五個基本原則。分別是SRP(單一責任原則)、OCP(開放封閉原則)、LSP(里氏替換原則)、ISP(接口分離原則)、DIP(依賴倒置原則)。它被典型的應用在測試驅動開發商,同時也是敏捷開發以及自適應軟件開發基本原則的重要組成部分。
單一責任原則(SRP)
單一責任原則認為一個類應該只具有一個功能。在程序開發中當需要修改某個類的時候原因有且只有一個。假設這個類需要承當其他類型的責任時,就要分解這個類。類被修改的幾率很大,如果把多個功能放在同一個類中,功能之間就形成了關聯,改變其中一個功能,有可能中止另一個功能,這時就需要新一輪的測試來避免可能出現的問題,極大的損傷其內聚性和耦合度。
開放封閉原則(OCP)
正常情況下軟件實體應該是可被擴展,但是不可以被修改的。這里所說的擴展就是表示開放性,而不可以被修改則是表示封閉性。通常情況下這個原則是程序員在開發過程中諸多面向對象編程原則中最抽象、最難理解的一個。
里氏替換原則(LSP)
程序中的對象應該是可以在不改變程序正確性的前提下被它的子類所替換。里氏替換原則是使代碼符合開放封閉原則的一個重要保障。當一個子類的實例應該能夠替換任何其超類的實例時,它們之間才具有is-A關系。客戶模塊不應關心服務模塊的是如何工作的;同樣的接口模塊之間,可以在不知道服務模塊代碼的情況下,進行替換。即接口或父類出現的地方,實現接口的類或子類可以代入。
接口分離原則(ISP)
不能強迫用戶去依賴那些他們不使用的接口。換句話說,使用多個專門的接口比使用單一的總接口總要好。 注意,在代碼中應用ISP并不一定以為這服務就是絕對安全的,同樣需要采用良好的編碼時間,以確保正確的驗證與授權。如Java中一個類實現多個接口,不同的接口給不用的客戶模塊使用,而不是提供給客戶模塊一個大的接口。
依賴注入或倒置原則(DIP)
依賴注入或倒置原則規定代碼應該取決于抽象的概念,而不是具體實現,具體可以分為兩條:1. 高層模塊不應該依賴于低層模塊,二者都應該依賴于抽象 ;2. 抽象不應該依賴于細節,細節應該依賴于抽象
這個設計原則的亮點在于任何被DI框架注入的類很容易用mock對象進行測試和維護,因為對象創建代碼集中在框架中,客戶端代碼也不混亂。有很多方式可以實現依賴倒置,比如像AspectJ等的AOP(Aspect Oriented programming)框架使用的字節碼技術,或Spring框架使用的代理等。
“SOLID設計原則有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。