軟體構造的SOLID原則

2021-10-05 12:17:53 字數 752 閱讀 5200

經典的例子: 正方形不是長方形的子類。因為正方形多了乙個長寬相等的屬性。如果長方形的長與寬是可變的,而此時卻用正方形代替了長方形,因為正方形時刻要求長寬相同,所以長寬會同時發生變化,而與我們預期不符,違反了liskov原則。因此二者沒有子類父類的關係。

不強迫客戶端依賴於不需要的介面,避免介面汙染和胖介面。通俗來說,就是客戶需要什麼功能,就實現什麼介面即可,不要實現無用的介面。

與srp的聯絡

要想實現isp原則,需要先滿足srp原則,將各個介面的責任變得單一,這樣才能使類與類(介面)之間的依賴是最小的,這樣既可以使使用者無需依賴不需要的方法,又可以降低各個使用者之間的影響,當使用者提出新的要求時,介面的改變對原來使用者的影響達到最小。當滿足srp原則時,每個介面的責任變得單一化,才能夠更好的實現介面隔離(isp)。

不好的設計:

下層的變化也會導致上層發生改變。

好的設計:

層與層之間通過抽象類完全隔離開,即便下層的具體實現發生變化,也不會對上層**產生影響。

分離(separation):keep it ******,stupid(kiss)

歸納起來:讓類保持責任單

一、介面穩定。

軟體開發遵循的原則(SOLID)

乙個物件只包含乙個單一職責,而且該職責被完整地封裝在乙個類中。即只有乙個原因可以使類變更。是實現高內聚 低耦合設計的指導方針。如果乙個類所承擔的職責越多,職責之間的耦合程度越高,類被復用的可能性越低。對擴充套件開放,對修改封閉 不允許修改抽象類或者介面,允許擴充套件具體的實現類。可以幫助軟體實現更好...

程式設計的SOLID原則

要想設計乙個良好的程式,建議採用solid原則,若考慮了solid,可以使程式在模組內具有高內聚 而模組間具有低耦合的特點。其中solid原則包括5方面的內容 1 通過增加 來擴充套件功能,而不是修改已經存在的 2 若客戶模組和服務模組遵循同乙個介面來設計,則客戶模組可以不關心服務模組的型別,服務模...

類的設計SOLID原則

簡要的記錄一下類的設計原則,乙個良好的類結構設計會對 整潔產生相當重要的影響,雖然不提倡過度設計,但一些簡單而實用的原則還是需要像對待法律一樣去嚴格遵守。觸犯這些原則,總能給我們帶來意想不到的麻煩。1 單一職責 single responsible principle 對於乙個類,應該僅有乙個引起它...