目 錄
- 前言
剛參加工作,使用過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