[连载]《C#通讯(串口和网络)框架的设计与实现》- 0.前言

简介: 目       录 前言   前言       刚参加工作,使用过VB、VC开发软件,随着C#的崛起,听说是C++++,公司决定以后开发软件使用C#,凭借在书市5块钱买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

.NET开发技术联盟群: 54256083

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

 

相关文章
|
1月前
|
监控 Shell Linux
【Shell 命令集合 网络通讯 】Linux 分析串口的状态 statserial命令 使用指南
【Shell 命令集合 网络通讯 】Linux 分析串口的状态 statserial命令 使用指南
32 0
|
3月前
|
数据采集 存储 数据处理
Scrapy:Python网络爬虫框架的利器
在当今信息时代,网络数据已成为企业和个人获取信息的重要途径。而Python网络爬虫框架Scrapy则成为了网络爬虫工程师的必备工具。本文将介绍Scrapy的概念与实践,以及其在数据采集和处理过程中的应用。
23 1
|
3月前
|
NoSQL Linux Redis
Redis 的网络框架是实现了 Reactor 模型吗?
Redis 的网络框架是实现了 Reactor 模型吗?
|
12天前
|
网络协议 Java API
Python网络编程基础(Socket编程)Twisted框架简介
【4月更文挑战第12天】在网络编程的实践中,除了使用基本的Socket API之外,还有许多高级的网络编程库可以帮助我们更高效地构建复杂和健壮的网络应用。这些库通常提供了异步IO、事件驱动、协议实现等高级功能,使得开发者能够专注于业务逻辑的实现,而不用过多关注底层的网络细节。
|
存储 设计模式 网络协议
Netty网络框架(一)
Netty网络框架
31 1
|
1月前
|
消息中间件 网络协议 API
Python语言的进程通讯及网络
Python语言的进程通讯及网络
|
1月前
|
网络协议 安全 网络安全
网络基础与通信原理:构建数字世界的框架
网络基础与通信原理:构建数字世界的框架
46 1
|
3月前
|
数据采集 存储 机器人
Scrapy网络爬虫框架——从入门到实践
网络爬虫已经成为了信息获取的必备工具之一,而Scrapy作为Python中最流行的网络爬虫框架之一,具有高效、可扩展、易用等特点。本文将深入介绍Scrapy框架的概念和实践,帮助读者快速掌握构建高质量网络爬虫的方法。
58 0
|
3月前
|
数据采集 存储 调度
Scrapy:从入门到实践的网络爬虫框架
Scrapy是一款强大的Python网络爬虫框架,可以帮助开发者更高效地抓取互联网上的数据。本文将介绍Scrapy的概念和基本原理,详细讲解如何使用Scrapy框架实现一个简单的网络爬虫,并分享一些实战经验和技巧。
|
3月前
|
数据采集 存储 调度
Scrapy:高效的Python网络爬虫框架
在信息时代,数据的获取和分析已经成为了一项重要的技能。而网络爬虫则是实现数据采集的一种常用手段。Scrapy作为一个高效、灵活的Python网络爬虫框架,其具备强大的扩展性、高度的可配置性以及良好的兼容性。本文将从Scrapy的概念入手,介绍其基本原理、使用方法以及实际应用案例。