通常來說程序或者架構(gòu)設(shè)計需要遵循一些經(jīng)過前輩們千錘百煉的總結(jié)出來的一下基本原則璧帝,SOLOD原則就是這樣的一套原則體系。SOLID原則的主要作用就是告訴我們?nèi)绻麛?shù)據(jù)和函數(shù)組織成為類挪鹏,以及如何這些類鏈接起來成為程序。這里的類僅僅代表了一種數(shù)據(jù)和函數(shù)的分組愉烙,每個軟件系統(tǒng)都會有自己的分類系統(tǒng)讨盒,不管是不是將其稱為“類”,事實(shí)上都是SOLID原則的適用領(lǐng)域步责。
一般情況下返顺,我們?yōu)檐浖?gòu)建中層結(jié)構(gòu)的主要目標(biāo)如下:
- 使軟件可容忍被改動
- 使軟件更容易被理解
- 構(gòu)建可在多個軟件系統(tǒng)中復(fù)用的組件
原則
-
SRP 單一職責(zé)原則。
該設(shè)計原則是基于康威定律的一個推論--一個軟件系統(tǒng)的最佳結(jié)構(gòu)高度依賴于開發(fā)這個系統(tǒng)的組織的內(nèi)部結(jié)構(gòu)勺择。這樣创南,每個軟件模塊都有且只有一個需要被改變的理由伦忠。 -
OCP:開閉原則省核。
該設(shè)計原則是由Bertrand Meyer在20世紀(jì)80年代大力推廣的,其核心要素是:如果軟件系統(tǒng)想要容易被改變昆码,那么其設(shè)計就必須允許新增代碼來修改系統(tǒng)行為气忠,而非只能靠修改原來的代碼。 -
LSP:里氏替換原則赋咽。
給設(shè)計原則是Barbara在1988年提出的一個著名的子類型定義旧噪。如果想用可替換的組件來構(gòu)建軟件系統(tǒng),那么這些組件就必須遵守同一個約定脓匿,以便讓這些組件可以相互替換淘钟。 -
ISP:接口隔離原則。
這項(xiàng)設(shè)計原則主要告誡設(shè)計師應(yīng)該在設(shè)計中避免不必要的依賴陪毡。 -
DIP:依賴反轉(zhuǎn)原則米母。
該設(shè)計原則指出高層策略性的代碼不應(yīng)該依賴實(shí)現(xiàn)底層細(xì)節(jié)的代碼,恰恰相反毡琉,那些實(shí)現(xiàn)底層細(xì)節(jié)的代碼應(yīng)該依賴高層策略性的代碼铁瞒。