《3個驅動之系統設計篇》 (1)開篇

2021-04-19 02:00:53 字數 932 閱讀 1862

圍繞產品質量的3個驅動:領域驅動、測試驅動和設計驅動。本文及後面的系列文章將主要針對設計模式進行分析和研究,內容包括:

(一)設計原則和策略

(二)模式應用的底層原理

(三)設計驅動的實際操作方法

1.抽象和介面

從根本特徵上說,抽象和介面都提供"is a"的語義。抽象側重的是從繼承類本身提供觀察視角,來反映乙個類層次的繼承和發展,並提供抽象層次上的對映,即抽象更像是乙個內部視角;而介面側重體現的是,呼叫者在使用介面實現類時,期望介面類所體現的外部特徵,因此介面更像是乙個外部視角,提供了在乙個協作環境中這個類所體現的某簇職責。因此,在抽象和介面的背後,我們看到的是抽象方法學,無非乙個從類的內部進行抽象,乙個從類的外部進行抽象。抽象和介面代表設計中的乙個維度,命名為「l」(即抽象形成的分層)。

2.組合

組合提供「has a」的語義。隨著設計模式的應用逐漸廣泛,在系統實現時,類的繼承關係逐漸被更多的類組合關係所替代,因為組合方法提供了一種可配置,可替換的方法學,從而在系統變化產生時重用架構,改變細節,用最小的代價來應對成本增加問題。「has a」關係提供了一種相當靈活的配置策略,從而可以組合出大量的設計方法以應對實際開發中的相關問題。組合代表的是設計中的另外乙個維度,命名為「c」(composite,合成)

3.類的三大特性

類本身的封裝、繼承和多型是oo的基本特性,但在設計層面上,多型是應用最多和最廣的屬性,多型使類在抽象層面上工作卻表現出具體實現上的特徵,這也是最令人振奮的特性之一,是靈活性設計的基石。多型是設計中的第三個維度,命名為「p」(多型)。

4.設計模式

設計模式是大量實踐經驗的沉澱,是經驗的重用。設計模式針對特定的場景,提供了固定的、被證明是行之有效的解決方案。目前除了gof的23種設計模式外,另外衍生了大量其它的設計模式。在後續過程中,我將主要針對常見的設計模式在plc(上面3個維度的縮寫)上的變化原理做一下解析,以加深我們對設計模式和oo設計的理解。

2 輸入系統驅動 3 input核心級驅動設計

1輸入子系統模型解析 1.1為什麼需要輸入子系統 1.2輸入子系統模型介紹 1.3輸入子系統案例分析 輸入型裝置驅動 1初始化 1.1分配input dev結構 input allocate device 1.2申明可能上報的事件型別 set bit 1.3如果上報的是按鍵,申明可能上報的鍵編號 1...

設計模式之3個工廠模式

factory 簡單工廠 factory method 工廠方法 abstract factory 抽象工廠 其中sf是最簡單的,sf是fm的乙個簡化。fm中是由concrete creator來建立concrete product的,這樣工廠方法是由乙個介面來實現,使creator具有更強的擴充套...

驅動程式之 1 字元裝置 3

基本排程關係 在應用程式中呼叫poll poll呼叫sys poll sys poll呼叫do sys poll do sys poll呼叫do poll do poll呼叫do pollfd do pollfd呼叫我們的驅動程式實現的my irq drv poll,my irq drv poll呼...