接口設計6大原則

面向對象的六大原則

    單一職責原則

所謂職責是指類變化的原因。如果一個類有多於一個的動機被改變,那麼這個類就具有多於一個的職責。而單一職責原則就是指一個類或者模塊應該有且只有一個改變的原因。通俗的說,即一個類只負責一項職責,將一組相關性很高的函數、數據封裝到一個類中。

    開閉原則

對於擴展是開放的,這意味着模塊的行爲是可以擴展的。當應用的需求改變時,我們可以對模塊進行擴展,使其具有滿足那些改變的新行爲。 對於修改是關閉的,對模塊行爲進行擴展時,不必改動模塊的源代碼。

通俗的說,儘量通過擴展的方式實現系統的升級維護和新功能添加,而不是通過修改已有的源代碼。

    里氏替換原則

使用“抽象(Abstraction)”和“多態(Polymorphism)”將設計中的靜態結構改爲動態結構,維持設計的封閉性。任何基類可以出現的地方,子類一定可以出現。

在軟件中將一個基類對象替換成它的子類對象,程序將不會產生任何錯誤和異常,反過來則不成立。在程序中儘量使用基類類型來對對象進行定義,而在運行時再確定其子類類型,用子類對象來替換父類對象。

    依賴倒置原則

高層次的模塊不應該依賴於低層次的模塊,他們都應該依賴於抽象。抽象不應該依賴於具體實現,具體實現應該依賴於抽象。 程序要依賴於抽象接口,不要依賴於具體實現。簡單的說就是要求對抽象進行編程,不要對實現進行編程,這樣就降低了客戶與實現模塊間的耦合(各個模塊之間相互傳遞的參數聲明爲抽象類型,而不是聲明爲具體的實現類)。

    接口隔離原則

一個類對另一個類的依賴應該建立在最小的接口上。其原則是將非常龐大的、臃腫的接口拆分成更小的更具體的接口。

    迪米特原則

又叫作最少知識原則,就是說一個對象應當對其他對象有儘可能少的瞭解。 通俗地講,一個類應該對自己需要耦合或調用的類知道得最少,不關心被耦合或調用的類的內部實現,只負責調用你提供的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章