繁体   English   中英

类图传感器接口

[英]class diagram sensor interface

为了更好地组织软件,我开始将matlab函数移植到matlab类中,并且在oop概念上有些挣扎。

多数民众赞成在这种情况:

  • 有物理传感器以各种方式测量位置。 每个传感器都有不同的计算算法,但所有传感器的确具有以下特殊属性:温度,rawData,serialNumber等。
  • 我想模拟传感器的输出(通过以前从数据库或csv文件保存的数据)或直接从UART接口获取数据。
  • 数据格式不同,但读出功能相似(从csv文件或数据库中加载列)
  • 我想在“ SensorToolbox”类中校准传感器。 GUI可以使用此类,并且应尽可能通用。

这是我的第一个类图: classDiagram

我的主要目标是在哪里放置“ loadDataFromX”和“ calibrateSensor”方法。 如果我认为代表“真实”传感器的传感器对象,则该传感器无法加载数据或自行校准。 仅可通过“ SensorToolbox”中的功能进行。 但是每个传感器的校准实现方式都不相同。 因此,将功能放入工具箱将需要检测类类型并在传感器外部进行实现。 这同样适用于传感器的数据。 从工具箱中调用“ loadDataFromFile”将需要知道传感器外部所需的数据格式。

希望您理解我的问题,并且可以将我推向正确的方向,谢谢!

我认为您应该将这些方法应用于传感器。 不必担心它们不能100%代表真实传感器的行为,它只是一个模型。

另一个选择是在SensorToolbox和Sensor之间共享这些方法。 例如,SensorToolbox可以从不同的数据源读取数据,然后传递到Sensor中,例如(伪代码):

SensorToolbox::loadDataFromDatabase():
   database = Database()
   data = database->readData()
   sensor->loadData(data)

SensorToolbox::loadDataFromFile():
   file = File('path/to/file')
   data = file->read()
   sensor->loadData(data)

与校准相同,SensorToolbox可以使用此方法,然后将其传递到Sensor(或在此之前做一些准备工作):

SensorToolbox::calibrate(Sensor sensor, SensorData data):
   // check the data
   // ...
   sensor->calibrate(data)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM