設計模式六大原則解析,屌炸天
設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、程式碼設計經驗的總結。使用設計模式是為了可重用程式碼、讓程式碼更容易被他人理解、保證程式碼可靠性。 毫無疑問,設計模式於己於他人於系統都是多贏的;設計模式使程式碼編制真正工程化;設計模式是軟體工程的基石脈絡,如同大廈的結構一樣。
1.單一原則---> 目的是為了高內聚,低耦合
通俗講:就是一個類只做一件事,做的事情多了,就容易產生耦合,不好繼承
2.開閉原則--> 目的是:對擴充套件開放,對修改閉合
通俗講: 對擴充套件(繼承、實現等都)可以開放,對類內部修改是閉合的,不讓修改。
在不修改原始碼的基礎上實現擴充套件(首先想到工廠模式)
軟體發展過程中,隨著時間的推移進行擴充套件,但是不能改變原有的功能,又能保證框架的穩
定性,這樣就會抽象出一層,抽象層不變,而且能擴充套件,底層是程式碼實現【抽象工廠模型就
是這麼演化來的】 抽象化是開閉原則的關鍵
3.里氏替換原則--> 目的是:向上轉型,
所用引用父類的地方,子類中所有方法對父類都是透 明的,替換子類之後,不報錯。
設計理念:在程式中儘量使用基類(父類)進行定義,這樣在程式執行時使 用子類物件替換父類物件。
注意:里氏替換原則是實現開閉原則的一個重要手段。
4.依賴倒置原則 -->目的是:
5.介面隔離原則--> 目的是:幹自己該乾的事,不該自己乾的事情不要幹。
介面太龐大,容易造成許多方法的空實現,浪費資源,
介面覆蓋面太小,造成介面氾濫,不容易管理。
6.迪米特原則--> 目的是: 低耦合。不要與陌生人說話,不要與其他類發生關係,
如何理解這六條原則,現在附上兩位大神的連結
頭頭哥:https://www.cnblogs.com/toutou/p/4870926.html#_label0
海子:https://www.cnblogs.com/dolphin0520/p/3919839.html