從Executor介面設計看設計模式之最少知識法則

2021-08-21 10:25:50 字數 786 閱讀 2181

首先說一下設計模式的六大原則:

1、單一職責原則

乙個類只負責乙個功能領域中的相應職責,或者可以定義為:就乙個類而言,應該只有乙個引起它變化的原因。

2、開閉原則

對修改關閉,對擴充套件開放。

3、依賴倒轉原則

依賴倒轉原則,指高層模組不應該依賴低層模組,兩個都應該依賴抽象;抽象不應該依賴細節,細節應該依賴抽象。說白了就是要針對介面程式設計,不要對實現程式設計。

4、黎克特制代換原則

黎克特制代換原則,子型別必須能夠替換掉他們的父型別。

5、迪公尺特法則(law of demeter)

迪公尺特法則也稱最少知識法則,如果兩個類不必彼此直接通訊,那麼這兩個類就不應當發生直接的相互作用。

6、介面隔離原則

客戶端不應該依賴它不需要的介面;乙個類對另乙個類的依賴應該建立在最小的介面上

我很疑惑的是單一職責原則跟介面隔離原則,覺得這兩個是重複的。

其實應該是這樣理解,首先介面隔離原則需要滿足單一職責原則,其次才是客戶端不應該依賴它不需要的介面,那麼問題來了,  父類介面與子類介面 誰大誰小呢?

我理解一般父類介面要小,功能較少,而子類介面功能更多,乙個類對另乙個類的依賴應該建立在最小的介面上這句又該如何解釋呢,以executorservice與executor介面為例,executor是父介面,executorservice是子類介面,那麼為什麼executors中使用的都是executorservice介面呢,關鍵是需求,需求是只需要父類介面的功能還是需要子類介面的擴充套件功能,這決定了使用哪個介面,如果父類介面能滿足要求,那麼依賴父類介面,否則依賴子類介面。

UI介面設計 介面設計流程

人類社會逐步向非物質社會邁進,網際網路資訊產業已經走入我們的生活。在這樣乙個非物質社會中,與軟體這些非物質產品再也不象過去那樣緊緊靠技術就能處於不敗之地。工業設計開始關注非物質產品。但是在國內依然普遍存在這樣乙個稱呼 美工 工 的意思就是沒有思想緊緊靠體力工作的人。這是乙個很愚昧的做法,愚昧在於稱呼...

介面設計定理

介面設計定理 模組分解原理探索 模組分解原理與三權分立 介面關係穩定原理探索 前面幾篇文章中講過模組分解原理和介面關係穩定原理,這篇文章中將使用模組分解原理和介面關係穩定原理來推導乙個重要的定理 介面設計定理。在講解介面設計定理前,先看一下robert c.martin著的 敏捷軟體開發 一書中提到...

介面設計定理

介面設計定理 模組分解原理探索 模組分解原理與三權分立 介面關係穩定原理探索 前面幾篇文章中講過模組分解原理和介面關係穩定原理,這篇文章中將使用模組分解原理和介面關係穩定原理來推導乙個重要的定理 介面設計定理。在講解介面設計定理前,先看一下robert c.martin著的 敏捷軟體開發 一書中提到...