目 錄
前言
剛參加工作,使用過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
新聞熱點
疑難解答