c++ - 表示硬件设备的适当类结构

标签 c++ hardware class-design

我正在尝试编写基本 ECG 设备的接口(interface)。我需要表格来设置设备,发送“记录”消息并将返回的 ECG 数据保存到文件中(以及在屏幕上报告一点)。硬件设备接收发送的命令,并通过串行接口(interface)返回数据。

我的问题是关于要设置的最合适的类结构。

选项 1: MainWindow 实例化一个 实时读取 ECG 信息的硬件设备对象,创建“ECG 文件类对象”并在设备对象内部对其进行处理。 录制完成后,MainWindow 会删除 Device 对象,我们就完成了。

选项 2: MainWindow 实例化 接收大量数据的硬件设备对象,然后将该数据维护为可公开访问的数据结构(成员) 然后,MainWindow 将引用该设备对象数据结构,实例化 ECG 文件类对象自身并将其写入文件。

理想情况下,我想以不同的格式写出数据(例如,指定格式的类?)

抱歉,如果问题不是那么清楚,我想我是在问硬件设备对象是否也适合管理它自己的所有数据,或者将它传回主窗口然后自行处理。

我尝试过选项 1,但它变得越来越丑陋,我不确定我是否从一开始就设计错误。

感谢任何/所有观点!

皮特

最佳答案

我对领域了解不多,我设计了几个使用设备的系统。我似乎也对设备进行了一些设计。设计这类东西的方法有很多,但我喜欢为所有设备编写包装器并使用打开、关闭、读取和写入接口(interface)。

所以本质上,创建了一个名为 Device 的抽象类。可以设计特定的设备来扩展这个基类。然后创建一个构建器类来创建和初始化特定的类。从这个基本类可以构建一个系统来处理它的输入和输出。我倾向于设计接口(interface)并使类尽可能简单。

关于c++ - 表示硬件设备的适当类结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8211735/

相关文章:

c++ - 在 C++ AMP 中什么时候不需要调用 "synchronize()"?

c++ - gcc7 的 NVCC 错误

c++ - QT:QTimeEdit 小部件中 'Up' 和 'Down' 箭头的事件

ios - 音量按钮通知 iPhone

c++ - 我应该如何在 C++ 中装箱整数类型?

c++ - 父/子类所有权语义

c++ - 来自 makefile 的链接器错误

windows - 在 Windows 下检索 USB 键盘的序列号

database - 实现 LinkedIn like "How you are connected to"功能的有效方法?

design-patterns - 浏览现有的开源项目以学习/改进类设计和设计模式