我现在遇到一个棘手的问题,先把软件大致介绍一下吧。
我现在要做的是一个仪器(电子压力计)的数据回放软件。由于公司产品的规划存在一些问题(我的个人看法),压力计存在多种型号,不同型号的压力计里面(仪器自带了存储芯片)存储的数据格式不完全相同,压力计与PC机软件的通讯协议也不完全相同。举例来说明吧,在基本的通讯规划上,有USB通讯的,有串口通讯的,串口通讯里面,有的通讯速率为9600,有的则是19200,还有115200的,反正是五花八门的。存储数据呢,大致可以分为,测试数据,时间表数据,校对表数据等,但不同型号的压力计这些数据的格式又不完全一样,从仪器中得到这些数据的通讯方式又是不完全相同。
如果要为没一个仪器单独做一个软件,那用户那里就会有N多个软件,估计用户不会同意。如果把做一个软件来兼容所有的仪器,由于个人能力有限,不知道该怎么做整个软件的结构规划,而且,怎样用同一个界面来向用户展示这些不同格式的数据。
我现在要做的是一个仪器(电子压力计)的数据回放软件。由于公司产品的规划存在一些问题(我的个人看法),压力计存在多种型号,不同型号的压力计里面(仪器自带了存储芯片)存储的数据格式不完全相同,压力计与PC机软件的通讯协议也不完全相同。举例来说明吧,在基本的通讯规划上,有USB通讯的,有串口通讯的,串口通讯里面,有的通讯速率为9600,有的则是19200,还有115200的,反正是五花八门的。存储数据呢,大致可以分为,测试数据,时间表数据,校对表数据等,但不同型号的压力计这些数据的格式又不完全一样,从仪器中得到这些数据的通讯方式又是不完全相同。
如果要为没一个仪器单独做一个软件,那用户那里就会有N多个软件,估计用户不会同意。如果把做一个软件来兼容所有的仪器,由于个人能力有限,不知道该怎么做整个软件的结构规划,而且,怎样用同一个界面来向用户展示这些不同格式的数据。
解决方案 »
- 无法强制类型转换
- 全部代码都try了,为什么winform程序还是运行一段时间就不声不响自己关闭消失了?
- C#盲提问using System.EnterpriseServices;不存在?
- 请教一个文件汇总的问题?
- 高手帮忙解决一下C#读xml内容的问题?多谢
- C#初学的一个小题目,以前的忘了,有朋友帮个忙吗?
- DATAGRID隐藏表的字段问题!!在线急等!!!!
- Dr.com 影响socket通信有什么解决的办法吗,除了卸载它
- 赤裸裸的倒粪啊!
- 关于在一个解决方案中多个项目中互相导入引用的问题
- 关于复制文件夹到另一个路径的问题。在线等!希望高手解答
- .NET如何禁用網頁截屏、複製、查看源代碼功能
但是他们都有相同的:
都可以存放数据,都可以进行通信
大概的伪码:
public abstract class 压力计支持Provider基类
{
public abstract void 存数据();
public abstract 数据格式 取数据();
}
然后在这个基础上每个不同的压力计实现不同的支持类同样的,数据格式虽然都不同,但是也可以抽象出共同的部分,例如都可以迭代显示等等的
使用接口抽象也可以的
实际调用的时候,还可以使用工厂生成不同的Provider