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

2021-09-29 09:02:17 字數 639 閱讀 5943

乙個物件只包含乙個單一職責,而且該職責被完整地封裝在乙個類中。即只有乙個原因可以使類變更。

是實現高內聚、低耦合設計的指導方針。如果乙個類所承擔的職責越多,職責之間的耦合程度越高,類被復用的可能性越低。

對擴充套件開放,對修改封閉

不允許修改抽象類或者介面,允許擴充套件具體的實現類。

可以幫助軟體實現更好的抽象化。具體實踐中,找到系統的可變因素,將其封裝起來。而不要將可變元素散落在程式的每個角落,導致對變化不敏捷。

任何基類出現的地方,子類也可以出現。保證子類能夠替換所有基類出現的地方

是多型背後的原則,因此在程式中盡量使用基類型別來對物件進行定義,而在執行時再確定其子類型別,用子類物件來替換父類物件

介面不應該太大,使用者僅需要知道與之相關的方法

盡可能的為使用者提供小的單獨的介面,而不提供大的總介面。

只提供使用者所需要的行為,隱藏使用者不需要的行為。

依賴抽象而不依賴具體的實現。

抽象不應當依賴於細節;細節應當依賴於抽象

要面向介面程式設計,而不是是面向實現程式設計

當我們選擇面向介面程式設計時,我們就對變化十分敏捷,從而實現對擴充套件開放,對修改封閉原則。

同時我們在實踐中,也會使用依賴注入。也就是說當乙個類對另乙個類依賴時,我們可以將抽象類注入到依賴類中,從而實現依賴關係。

軟體開發(原則)

隨著軟體版本的更新迭代,為了使軟體能夠更好的維護,擴充套件。在兼顧他的 的可復用性以及他的靈活性的基礎上,我們對於軟體的設計應盡量根據7條原則來進行開發。含義 就乙個類而言,應該僅有乙個引起他變化的原因 含義 是說軟體實體 類,模組,函式等等 應該可以擴充套件,但是不可以修改。理解 就是軟體對程式的...

軟體開發的原則

1.單一職責 srp 乙個類或者乙個方法,只有乙個引起它變化的原因。應該只有乙個職責。每乙個職責都是變化的乙個軸線,如果乙個類有乙個以上的職責,這些職責就耦合在了一起。這會導致脆弱的設計。2.開閉原則 ocp 開閉原則指的是乙個軟體實體應對對擴充套件開發,對修改關閉。3.依賴倒置原則 dip,ioc...

軟體構造的SOLID原則

經典的例子 正方形不是長方形的子類。因為正方形多了乙個長寬相等的屬性。如果長方形的長與寬是可變的,而此時卻用正方形代替了長方形,因為正方形時刻要求長寬相同,所以長寬會同時發生變化,而與我們預期不符,違反了liskov原則。因此二者沒有子類父類的關係。不強迫客戶端依賴於不需要的介面,避免介面汙染和胖介...