要想設計乙個良好的程式,建議採用solid原則,若考慮了solid,可以使程式在模組內具有高內聚、而模組間具有低耦合的特點。其中solid原則包括5方面的內容:
(1)通過增加**來擴充套件功能,而不是修改已經存在的**。
(2)若客戶模組和服務模組遵循同乙個介面來設計,則客戶模組可以不關心服務模組的型別,服務模組可以方便擴充套件服務(**)。
(3)ocp支援替換的服務,而不用修改客戶模組。
(1).高層模組不要依賴低層模組;
(2).高層和低層模組都要依賴於抽象;
(3).抽象不要依賴於具體實現;
(4).具體實現要依賴於抽象;
(5).抽象和介面使模組之間的依賴分離。
***用函式指標,象介面一樣,也可以去掉兩個函式之間的直接依賴。
類的設計SOLID原則
簡要的記錄一下類的設計原則,乙個良好的類結構設計會對 整潔產生相當重要的影響,雖然不提倡過度設計,但一些簡單而實用的原則還是需要像對待法律一樣去嚴格遵守。觸犯這些原則,總能給我們帶來意想不到的麻煩。1 單一職責 single responsible principle 對於乙個類,應該僅有乙個引起它...
C 的SOLID原則實踐
brannon b.king是供職於autonomous solution inc.的一名軟體工程師,他在msdn雜誌 2014年05月刊發表了一篇題為 違背c 中solid原則的危險 的文章。作者指出了研發人員在c 編碼中可能出現的一些常見錯誤,違背solid原則將導致 不易擴充套件 難以維護。u...
軟體構造的SOLID原則
經典的例子 正方形不是長方形的子類。因為正方形多了乙個長寬相等的屬性。如果長方形的長與寬是可變的,而此時卻用正方形代替了長方形,因為正方形時刻要求長寬相同,所以長寬會同時發生變化,而與我們預期不符,違反了liskov原則。因此二者沒有子類父類的關係。不強迫客戶端依賴於不需要的介面,避免介面汙染和胖介...