嵌入式軟體應用程式開發框架淺見
最近在構思一個嵌入式系統上的應用程式開發框架,這個不單單是做一個應用程式的框架,是一個系統的。
要達到的目的就是為業務實現部分的程式提供一個框架,這個框架這麼說是一個很模糊打概念,下面詳細介紹一下這個框架。
框架要實現一些常用的功能封裝:
1. 程序間通訊的程式碼,用於實現程序間資料互動;
2. 實現定時器,做開發時間久了,會發現在業務功能實現的過程中,有好多地方會用到定時器,比如某個資料需要定時傳送,而有的資料只需要定時傳送幾次等;
3. 資料處理框架,這個功能是處理基礎資料用的框架,基本思想上註冊回撥機制,有了它,業務程式碼裡就不會再出現長長的switch……case了。
4. 事件狀態管理框架,這個功能上用於管理系統內部的狀態,基本思想上訂閱釋出機制,有了它,程式碼就不用再去請求一堆狀態資料了,只需要把你關注打事件或者狀態注測一下,當事件發生時,就主動通知給你了,這樣處理起來感覺順一些。
5. 執行緒封裝,考慮這個部分也是因為之前在寫程式的過程中,有好多地方需要啟動一個臨時執行緒,處理的資料結束之後就自己退出,自動回收資源。其實這個的封裝,也是為了業務程式碼書寫的時候不用再去寫執行緒相關打一堆api和引數。
基本就以上幾個部分,基於這些年打開發經驗,感覺嵌入式上的程式模組分三類:
1. 基礎資料採集模組;
提供支援系統業務功能的基礎資料,比如導航裝置,GPS資料採集的程式可以算這一類。
2. 業務資料處理模組
這一部分一般程式碼比較多,也是主要的工作量所在
3. 輔助模組
這部分主要是給業務資料處理模組提供一些輔助功能,比如:資料/引數儲存等模組,也就是這些模組是其使用者請求什麼他就返回什麼,自身不具有複雜打邏輯處理。
最後對寫程式的兩句總結(這個是我的“師傅”總結的):
分離關注點,消除重複。
這短短打兩句話,蘊含了多少程式設計世界的哲學!
其中包含程式設計原則,也包含設計模式的思想,還有程式碼重構的思想!