[连载]《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
[连载]《C#通讯(串口和网络)框架的设计与实现》- 0.前言的更多相关文章
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 5.串口和网络统一IO设计
目 录 第五章 串口和网络统一IO设计... 2 5.1 统一IO接口... 2 5.1.1 串口IO.. 4 5.1.2 网络IO.. ...
- 《android开发进阶从小工到专家》读书笔记--网络框架的设计与实现
第一步: 第一层:Request--请求类型,JSON,字符串,文件 第二层:消息队列--维护了提交给网络框架的请求列表,并且根据响应的规则进行排序.默认情况下按照优先级和进入队列的顺序来执行,该队列 ...
- HTTP(S)网络框架的设计
0.麻烦 操作系统提供的网络接口都会令人不爽,要么太接近底层而使用不便,要么层次过高又不提供底层点的接口供设置参数.但是我们不能期望系统API做得很高级,因为没有绝对合适的网络库,必须定制化从而达到适 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 6.通讯控制器的设计
目 录 第六章 通讯控制器的设计... 2 6.1 控制器接口... 2 6.2 串口控制器... 3 6.3 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》-4.设备驱动管理器的设计
目 录 第四章 设备驱动管理器的设计... 2 4.1 接口定义... 2 4.2 设备容器... 7 4.3 ...
- 《连载 | 物联网框架ServerSuperIO教程》-4.如开发一套设备驱动,同时支持串口和网络通讯。附:将来支持Windows 10 IOT
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》-1.通讯框架介绍
[连载]<C#通讯(串口和网络)框架的设计与实现>- 0.前言 目 录 第一章 通讯框架介绍... 2 1.1 通讯的本质... 2 1 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》-2.框架的总体设计
目 录 C#通讯(串口和网络)框架的设计与实现... 1 (SuperIO)- 框架的总体设计... 1 第二章 框架总体的设计... 2 2.1 ...
- [连载]《C#通讯(串口和网络)框架的设计与实现》- 11.调试器的设计
目 录 第十一章 调试器设计... 2 11.1 调试接口... 2 11.2 界面方式调试... 3 11.3 命令行方式调试.. ...
随机推荐
- Maven 代理设置
在maven的安装目录下 %MAVEN_HOME%/conf/setting.xml 中进行设置 <proxies> <!-- proxy | Specificatio ...
- php 基础代码大全(不断完善中)
下面是基础的PHP的代码,不断完善中~ //语法错误(syntax error)在语法分析阶段,源代码并未被执行,故不会有任何输出. /* [命名规则] */ 常量名 类常量建议全大写,单词间用下划线 ...
- ES6之let命令详解
let与块级作用域 { var foo='foo'; let bar='bar'; } console.log(foo,'var'); //foo varconsole.log(bar ,'bar') ...
- iOS之App Store上架被拒Legal - 5.1.5问题
今天在看到App Store 上架过程中,苹果公司反馈的拒绝原因发现了这么一个问题: Legal - 5.1.5 Your app uses background location services ...
- Android中的沉浸式状态栏效果
无意间了解到沉浸式状态栏,感觉贼拉的高大上,于是就是试着去了解一下,就有了这篇文章.下面就来了解一下啥叫沉浸式状态栏.传统的手机状态栏是呈现出黑色条状的,有的和手机主界面有很明显的区别.这一样就在一定 ...
- POJ3693 Maximum repetition substring [后缀数组 ST表]
Maximum repetition substring Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9458 Acc ...
- osi(open system interconnection)模型的通俗理解
OSI模型的理解: 以你和你女朋友以书信的方式进行通信为例. 1.物理层:运输工具,比如火车.汽车. 2.数据链路层:相当于货物核对单,表明里面有些什么东西,接受的时候确认一下是否正确(CRC检验). ...
- Windows Server 2008 R2常规安全设置及基本安全策略
这篇文章主要介绍了Windows Web Server 2008 R2服务器简单安全设置,需要的朋友可以参考下 用的腾讯云最早选购的时候悲催的只有Windows Server 2008 R2的系统,原 ...
- ASP.Net MVC 5 in Xamarin Studio 5.2
Xamarin Studio 是一个Mono的跨平台 IDE(Integrated Development Environment),支持Wiindow和Mac,最新发布的5.2 版本支持ASP.NE ...
- 数据库设计中的Soft Delete模式
最近几天有点忙,所以我们今天来一篇短的,简单地介绍一下数据库设计中的一种模式——Soft Delete. 可以说,该模式毁誉参半,甚至有非常多的人认为该模式是一个Anti-Pattern.因此在本篇文 ...