關於設計六大原則的認識和理解

在一家面試的時候,被問到了什麼叫做設計模式的六大原則
上網查了查,瞭解到如下原則。

  • 首先單一職責原則

首先單一職責原則
簡單講就是一個類只負責一個功能領域中的相應職責,或者可以定義爲:就一個類而言,應該只有一個引起它變化的原因

  • 開閉原則

    一個軟件實體應當對擴展開放,對修改關閉。即軟件實體應儘量在不修改原有代碼的情況下進行擴展。

  • 里氏替換原則

所有引用基類(父類)的地方必須能透明地使用其子類的對象
含義就是,在軟件中將一個基類對象替換成它的子類對象,程序將不會產生任何錯誤和異常,反過來則不成立,如果一個軟件實體使用的是一個子類對象的化,那麼它不一定能夠使用基類對象。 通俗來講:就是子類可以擴展父類的功能,但不能改變父類原有的功能。,是實現開閉原則一大準則。

  • 依賴倒置原則

抽象不應該依賴於細節,細節應當依賴於抽象。換言之,要針對接口編程,而不是實現編程

  • 接口隔離原則

使用多個專門的接口,而不使用單一的總接口,即客戶端不應該依賴那些它不需要的接口。
每一個接口獨立角色,不幹不該做的事。

  • 迪米特原則(最小知識原則)

一個軟件實體應當儘可能少的與其他實體發生相互作用。簡單講,就是應該儘量減少對象之間的交互,如果兩個對象之間不必彼此直接通信,那麼這兩個對象就不應當發生任何直接的相互作用。

註明:其中我們所熟知的單例模式事實上違反了
單一職責這一個設計原則。不只要關心自己的工作,還要維護自己的實例化對象。

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