1. 程式人生 > >設計模式的6大基本原則

設計模式的6大基本原則

一.單一職責原則

 單一職責原則(Single Responsibility Principle, SRP):一個類只負責一個功能領域中的相應職責,或者可以定義為:就一個類而言,應該只有一個引起它變化的原因。單一職責原則是最簡單的面向物件設計原則,它用於控制類的粒度大小。

       單一職責原則是實現高內聚、低耦合的指導方針,它是最簡單但又最難運用的原則,需要設計人員發現類的不同職責並將其分離,而發現類的多重職責需要設計人員具有較強的分析設計能力和相關實踐經驗。

二.開閉原則

開閉原則(Open-Closed Principle, OCP):一個軟體實體應當對擴充套件開放,對修改關閉。即軟體實體應儘量在不修改原有程式碼的情況下進行擴充套件。在開閉原則的定義中,軟體實體可以指一個軟體模組、一個由多個類組成的區域性結構或一個獨立的類。抽象化是

開閉原則的關鍵。

三.里氏替換原則  

 所有引用基類(父類)的地方必須能透明地使用其子類的物件;在軟體中將一個基類物件替換成它的子類物件,程式將不會產生任何錯誤和異常,反過來則不成立,如果一個軟體實體使用的是一個子類物件的話,那麼它不一定能夠使用基類物件。

      里氏代換原則是實現開閉原則的重要方式之一,由於使用基類物件的地方都可以使用子類物件,因此在程式中儘量使用基類型別來對物件進行定義,而在執行時再確定其子類型別,用子類物件來替換父類物件

四.依賴倒置原則 

      抽象不應該依賴於細節,細節應當依賴於抽象。換言之,要針對介面程式設計,而不是針對實現程式設計。

五.介面隔離原則

 使用多個專門的介面,而不使用單一的總介面,即客戶端不應該依賴那些它不需要的介面;每一個介面應該承擔一種相對獨立的角色,不幹不該乾的事,該乾的事都要幹。

六.迪米特法則

    一個軟體實體應當儘可能少地與其他實體發生相互作用;迪米特法則可降低系統的耦合度,使類與類之間保持鬆散的耦合關係。