目 錄
前言
剛參加工作,使用過VB、VC開發軟件,隨著C#的崛起,聽說是C++++,公司決定以後開發軟件使用C#,憑借在書市5塊錢買C#編程入門書籍,開始了職業生涯。開發C/S、B/S結構的軟件是必不可少的,又涉及到Remoting、WebService、線程、異步等不知所雲的技術。到現在為止,不敢妄稱精通,卻也使用熟練;研讀Framework源代碼,不敢說全部搞懂,卻對技術提高有很大幫助。
身在傳統行業,確實感覺到引入互聯網的思維方式的重要性,在傳統行業產品、用戶群體的基礎上實現增值服務。親自設計、開發遠程E服務系統,客戶端、服務端、Web管理系統、移動APP(Android)程序等,無不身先士卒。整個系統雛形基本完成,領導也是眼前一亮,贊歎是個好東西。作為有理想、有目標的程序猿,只為能夠推動公司發展、進而實現個人的發展。奈何當時還沒有 “互聯網+”的概念,職能部門之間存在認識上的差異,項目推進緩慢,處於半死狀態。對於不見兔子不撒鷹的做事風格,對新鮮事物反應遲鈍也屬於情理之中的事。
想想多年來,有什麼拿的出手的作品呢,對於認為開發軟件是一門藝術的人來說是值得思考的問題。思考良久,只有通訊(串口和網絡)平台(SuperIO)能拿來和大家分享,形成了產品,可以供大家進行二次開發。
當年,拿著框架的界面和簡要介紹去面試,被錄用後,到談薪水時,部門領導說這個“軟件”很簡單。如果是為了壓低薪水,是可以理解的。但是,作為工程師、開發者、設計者、構架師等一類人群,最反感聽到某某人說:這個很簡單;這個很容易實現;這個很短時間就能完成……諸如此類的話。SuperIO作為一個輕型通訊框架,可以提高復用、降低工作量,那麼就是有價值的。
說到框架,互聯網上有很多供我們使用的框架。通訊框架、消息隊列框架、分布式任務框架、Web開發框架等等,而且都是免費的。所以,我們應該感謝互聯網,對於技術方面更多元、更開放、更高效。
對於工程師來說,很崇拜、羨慕那些造輪子的人,我也是如此。但是,大部分人都是在用輪子,站在巨人肩膀上前進,更多關注實現的業務。我算不上造輪子的人,也只是根據公司的業務形成了一個通用的軟件框架。
什麼是好的框架?不是自己說了算。從開發者的角度來看,過了N年,還有修改的動力、還有擴展的余地;從二次開發者(應用)的角度來看,的確提高了開發效率、降低了成本;從用戶應用的角度來看,運行的確很穩定。從不同主體角度看問題的關注點不一樣。
SuperIO經過多年的完善、迭代,的確支撐起公司的眾多設備、眾多協議,在集成項目的數據采集、交互方面發揮了重要作用。提高了復用和開發效率,降低了時間成本和人力成本。也有很多網友在免費使用,有人反饋說SuperIO有點像組態軟件。說實話,比組態軟件差遠了,但是核心通訊方面是類似的。
SuperIO的核心思想是把不變的部分做穩定,把變的部分(顯示、數據處理和保存、服務等)做靈活。同樣的,用Java、Python、QT等其他語言也可以完成同樣框架,更多的體現在思想方面。
計劃寫連載文章對SuperIO的設計與實現進行整體的介紹,並指出哪裡需要改進。希望通過交流能夠共同提高。
連載文章規劃的目錄如下: 前言 第1章 通訊框架介紹 通訊的本質 應用場景 解決現實問題 框架簡介 框架應用特點 框架設計特點 插件式應用框架 開發環境 第三方組件 小結 第2章 框架總體的設計 宿主程序設計 通訊機制設計 層次示意圖 模型對象示意圖 小結 第3章 設備驅動的設計 (接口) 運行設備接口設計 虛擬設備接口設計 協議驅動設計 命令緩存設計 數據持久化設計 數據交互設計 通訊狀態設計 定時任務設計 運行優先級設計 授權設計 事件響應設計 上下文菜單設計 IO通道監測設計 設備管理器 小結 第4章 串口和網絡的IO設計 統一IO接口 IO管理器 串口IO管理器 網絡IO管理器 小結 第5章 通訊控制器的設計 控制器 串口控制器 網絡控制器 小結 第6章 總體控制器的設計 組裝部件 接口職能 事件響應 數據中轉 小結 第7章 外部接口的設計 插件接口 圖形顯示接口 數據導出接口 服務組件接口 小結 第8章 插件引擎設計 框架的契約-接口 實現接口 插件的雛形-抽象類 反射機制 動態加載插件 小結 第9章 宿主程序詳細設計 配置文件設計 加載設備驅動 加載界面視圖 加載數據導出 加載服務組件 DockPanel應用 檢測運行授權設計 中英文切換 全局異常監測 小結 第10章 調試器設計 調試接口 用界面方式調試 命令行方式調試 小結 第11章 中英文版本切換設計 不用自帶的資源文件的理由 自定義配置文件 語言管理類 小結 第 12 章 License設計 設計思想 代碼實現 小結 第13章 二次開發及應用 構建主程序 設備驅動的開發 圖形顯示的開發 數據導出的開發 服務組件的開發 小結 第14章 配置工具的應用 參數配置設計 驅動掛載設計 小結 第15章 OPC服務端和客戶端的開發和設計 OPC服務端設計 OPC客戶端的設計 小結
作者:唯笑志在
QQ:504547114
.NET開發技術聯盟群: 54256083
文檔下載:http://pan.baidu.com/s/1pJ7lZWf