如何寫出高質量的**,是大家一直都在被拷問的難題。通常,軟體開發的最佳實踐都提倡「高內聚、低耦合」。比如,在軟體的設計和開發過程中,應盡量做到,軟體各實體(如模組、類、函式等)的責任有清晰地定義和劃分,並盡量避免軟體實體之間的耦合,從而降低**的複雜度。
solid是一系列軟體設計、開發的原則,是設計、開發出高質量軟體的手段。這些原則能幫助我們設計出「高內聚、低耦合」的軟體。遵循這些原則,我們能在**的開發與審查階段有效地發現**中的臭味。
solid是最常用的五個物件導向設計原則的英文名稱的首字母:
簡單解釋如下:
srp:單一職責
就乙個類而言,有且僅有乙個引起它變化的原因。
ocp:開閉原則
軟體實體(模組、類等)對擴充套件是開放的,對修改是關閉的。
對於乙個類來說,如果要擴充套件其功能,應盡量使用新增新**的方式,而不是修改舊**。
lsp:黎克特制替換
在使用父類的地方,子類能替換父類。
dip:依賴倒置
實現依賴於抽象,而不是抽象依賴於實現。
isp:介面隔離
不強迫使用者依賴不需要的介面。
SOLID設計原則解讀
srp 單一職責原則 任何乙個軟體模組都應該只對某一類行為者負責 ocp 開閉原則 主要目標時讓系統易於擴充套件,同時限制其每次被修改所影響的範圍。實現方式就是將系統分為一系列元件,元件之間按層級關係分割,高階元件不會因低階元件的修改而收到影響。例子,系統中的輸出資訊方式不會因顯示設變的不同而不同,...
類的設計SOLID原則
簡要的記錄一下類的設計原則,乙個良好的類結構設計會對 整潔產生相當重要的影響,雖然不提倡過度設計,但一些簡單而實用的原則還是需要像對待法律一樣去嚴格遵守。觸犯這些原則,總能給我們帶來意想不到的麻煩。1 單一職責 single responsible principle 對於乙個類,應該僅有乙個引起它...
物件導向設計的SOLID原則
物件導向程式設計強調的是可擴充套件性,那麼我們要怎麼設計才具有更好的擴充套件性呢?solid原則是類級別的,物件導向的設計理念,它們與測試工具一起幫你改進腐壞的 solid由程式設計師們最喜歡的大叔 robert c.martin bob大叔 提出,它其實是五個其他縮略詞的組合 srp,ocp,ls...