你的位置:首页 > ASP.net教程

[ASP.net教程][连载]《C#通讯(串口和网络)框架的设计与实现》


                              目       录

  1. 前言

 

前言

      刚参加工作,使用过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

QQ群:54256083

文档下载:http://pan.baidu.com/s/1pJ7lZWf