簡體   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