訪問硬體的設計模式
出自《C嵌入式程式設計設計模式》這本是,算是給自己做的學習筆記吧。
一、硬體的代理模式
先來看看書上的定義:
書上介紹的很詳細了,我的理解就是硬體的代理模式就是基於介面的程式設計,程式依賴於介面,
而不是依賴於具體的實現。當我們的硬體平臺改變時候,只需要根據介面定義,再把底層驅
動全部重寫,而上層的邏輯的程式碼完全不需要改變,也就是介面遮蔽了硬體的具體實現細節。
二、硬體介面卡模式
這個設計也很好理解,當我們把硬體驅動已經寫好了,並且在其他專案已經用過了,現在有了
新的專案,原來的驅動介面和我們目前的需求可能不太匹配,這個時候,我們是選擇重新寫代
碼呢?還是想怎麼利用現有的驅動程式碼?我估計會有一部分人選擇重寫,我以前也是這麼幹的。
但是這麼做,浪費時間和精力,需要重新除錯驅動。那麼有了硬體適配模式後,我們就可以不
動以前的驅動程式,再寫一個適配層,以便舊驅動適應新的程式碼邏輯。想想生活中的例子,比
如手機type_c轉接頭,以及各種電源資料線轉接頭。
三、中介者模式
這個模式其實很好理解,打個比方,如果一件事情需要幾個人協作完成,你會怎麼做?是每個
人都可以相互通訊、協議?還是有一個人指揮,其他人只需要聽命令做事情,給反饋就可以?
幾個人可能不是很明顯,如果是幾個部門呢?其實我感覺中介者模式就是有個總的排程器,每
個部件都和排程器通訊,專注做自己的事情。這樣資訊鏈路會少,邏輯清晰。
四、觀察者模式(釋出--訂閱模式)
這裡說的很清楚了,某個感測器的代理或者伺服器有個訂閱列表,可以動態刪除和新增訂閱者資訊,
一旦有資料更新就根據列表傳送訊息或者資料。
五、去抖動模式
這個模式沒什麼可說的,通過按鍵的例子,大家就會有體會。
六、中斷模式
七、輪訓模式
相關文章
- 設計模式:訪問者模式設計模式
- 設計模式(十六)——訪問者模式設計模式
- 設計模式 - ASM 中的訪問者模式設計模式ASM
- 極簡設計模式-訪問者模式設計模式
- JAVA設計模式之訪問者模式Java設計模式
- 設計模式解密(22)- 訪問者模式設計模式解密
- PHP設計模式之訪問者模式PHP設計模式
- 軟體設計模式學習(二十七)訪問者模式設計模式
- 軟體設計模式系列之二十五——訪問者模式設計模式
- 設計模式學習之訪問者模式設計模式
- 【趣味設計模式系列】之【訪問者模式】設計模式
- C#設計模式之訪問者模式C#設計模式
- 23種設計模式之訪問者模式設計模式
- 設計模式的征途—16.訪問者(Visitor)模式設計模式
- 15.java設計模式之訪問者模式Java設計模式
- C++設計模式 - 訪問器模式(Visitor)C++設計模式
- 18、Python與設計模式–訪問者模式Python設計模式
- 設計模式(二十三)訪問者設計模式
- C#設計模式系列:訪問者模式(Visitor)C#設計模式
- 設計模式--訪問者模式Visitor(行為型)設計模式
- JAVA設計模式之 訪問者模式【Visitor Pattern】Java設計模式
- 設計模式系列之代理模式(Proxy Pattern)——物件的間接訪問設計模式物件
- 「補課」進行時:設計模式(18)——訪問者模式設計模式
- 設計模式學習-使用go實現訪問者模式設計模式Go
- 聊聊OOP中的設計原則以及訪問者模式OOP模式
- 1.1 《硬啃設計模式》 第1章 大話設計模式設計模式
- PHP設計模式-DAO (Data Access Objects) 資料訪問物件模式PHP設計模式Object物件
- Android理解設計模式之組合模式、迭代器模式、訪問者模式Android設計模式
- GoLang設計模式17 - 訪客模式Golang設計模式
- 設計模式(二十):訪問者模式、迭代器模式、觀察者模式、原型模式、模板方法設計模式原型
- Java進階篇設計模式之十 ---- 訪問者模式和中介者模式Java設計模式
- 20個設計模式和軟體設計面試問題設計模式面試
- 1.2 《硬啃設計模式》 第2章 學習設計模式需掌握的UML知識設計模式
- 設計模式學習筆記(二十一)訪問者模式及其實現設計模式筆記
- 341程式設計器 軟硬體程式設計
- 為SSD程式設計(5):訪問模式和系統優化程式設計模式優化
- 使用設計模式構建通用資料庫訪問類 (轉)設計模式資料庫
- 訪問者模式模式