程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> [連載]《C#通訊(串口和網絡)框架的設計與實現》- 0.前言,

[連載]《C#通訊(串口和網絡)框架的設計與實現》- 0.前言,

編輯:C#入門知識

[連載]《C#通訊(串口和網絡)框架的設計與實現》- 0.前言,


                              目       錄

 

前言

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

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved