面向对象葵花宝典:思想、技巧与实践(36) - 设计原则如何用?
經過前面深入的闡述,SOLID的原則我們已經基本上講清楚了,但如果想熟練的應用SOLID原則,僅僅知道SOLID是什么(what)還不夠,我們還需要知道SOLID原則在什么時候和什么場景應用(when或where)。
?
幸運的是,SOLID原則的5個獨立原則在實際應用中基本上都是獨擋一面,并不會在某個地方需要同時從可選的幾個原則中挑選一個最優的原則來應用,這樣大大降低了我們應用SOLID原則的難度。
?
SOLID原則具體的應用場景如下:
- SRP原則:用于類的設計
當我們想出一個類,或者設計出一個類的原型后,使用SRP原則核對一下類的設計是否符合SRP要求。
?
- OCP原則:總的指導思想
OCP原則是一個總的指導思想,在面向對象的設計中,如果能夠符合LSP/ISP/DIP原則,一般情況下就能夠符合OCP原則了。
除了在面向對象的軟件設計中外,OCP也可以用于指導系統架構設計,例如常見的CORBA、COM協議,其實都可以認為是OCP原則的具體應用和實現。
?
- LSP原則:用于指導類繼承的設計
當我們設計類之間的繼承關系時,使用LSP原則來判斷這種繼承關系是否符合LSP要求。
?
- ISP原則:用于指導接口的設計
ISP原則可以認為是SRP原則的一個變種,本質上和SRP的思想是一樣。SRP用于指導類的設計,而ISP用于指導接口的設計。
?
- DIP原則:用于指導類依賴的設計
當我們設計類之間的依賴關系時,可以使用DIP原則來判斷這種依賴是否符合DIP原則。
DIP原則和LSP原則相輔相成:DIP原則用于指導抽象出接口或者抽象類,而LSP原則指導從接口或者抽象類派生出新的子類。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的面向对象葵花宝典:思想、技巧与实践(36) - 设计原则如何用?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不要重复发明轮子:C++重用的5重境界
- 下一篇: 如何掌握并在实践中自如运用设计模式