中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SOLID設計原則有哪些

發布時間:2021-12-07 15:15:26 來源:億速云 閱讀:149 作者:iii 欄目:編程語言

本篇內容介紹了“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設計原則有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

辽中县| 策勒县| 枝江市| 综艺| 同仁县| 成安县| 西和县| 三台县| 嘉祥县| 南宫市| 兴安县| 时尚| 彭泽县| 安多县| 东山县| 额济纳旗| 巫溪县| 温泉县| 古丈县| 特克斯县| 德兴市| 新龙县| 富阳市| 鹰潭市| 祁阳县| 馆陶县| 上饶县| 淮阳县| 龙游县| 如东县| 罗源县| 集安市| 湟中县| 大新县| 锦州市| 屯留县| 大渡口区| 博白县| 镶黄旗| 拉孜县| 禹州市|