我正在开展我的研究项目。假设我有一根预定长度为 6 m 的钢筋。我在0m、3m、6m位置安装了3个传感器。钢筋将受到多种测试条件的影响,例如条件 A、B、C、D 等。我需要创建后处理程序来处理这些数据。 (注意:这个问题已经被简化了,实际问题更复杂,如果我解释所有细节将会令人困惑)
这里建立数据关系的最佳方式是什么? 假设我有 条形条件:A、B、C、D 温度:(位置及其温度的键值对)
最好建立以下关系: (SteelBar Has-A BarCondition) (BarCondition 有温度)
或者最好建立以下关系: (钢棒具有温度) (温度有条件) ?
稍后,我还需要创建同一位置的温度组合。例如:组合 1:BarConditionA + BarConditionB 组合2:BarConditionC + BarConditionD 组合 3:30% * BarConditionC + 40% BarConditionD ... 等等
大约有1000种组合,大约有500条条件。并且将有超过15个传感器位置来测量其温度。 (在实际情况下,它不仅测量温度,还测量同一位置的其他一些数据。因此我为该数据本身创建类)
目前,我创建了一个名为Temperature的类,它将位置和温度数据存储在字典中。 我还创建了一个名为 SteelBar 的类,我将在其中获取数据
class Temperature
{
private Dictionary<double, double> _temperatureData;
public Dictionary<double, double> TemperatureData { get { return _temperatureData; } }
public Temperature()
{
_temperatureData = new Dictionary<double, double>();
}
public void AddTemperature(double position, double temperatureinDegree)
{
_temperatureData.Add(position, temperatureinDegree); //
}
}
class SteelBar
{
private Temperature _BarTemperature1, _BarTemperature2;
public SteelBar()
{
_BarTemperatureConditionA = new Temperature();
_BarTemperatureConditionA.AddTemperature(0, 27);
_BarTemperatureConditionA.AddTemperature(3, 39);
_BarTemperatureConditionA.AddTemperature(6, 55);
_BarTemperatureConditionB = new Temperature();
_BarTemperatureConditionB.AddTemperature(0, 33);
_BarTemperatureConditionB.AddTemperature(3, 99);
_BarTemperatureConditionB.AddTemperature(6, 10);
}
}
但是我觉得这种做法并不正确。当我需要结合温度时就会出现问题。
我会创建一个 SuperClass 调用
Conditions
将相似的对象属性组合在一起
然后我将有一个继承
Conditions
的子类,并将属性设置为各自不同的上下文。例如 TemperatureCondition
继承 Conditions
然后在你的 SteelBar 类中,你将有一个条件列表,无论它是什么条件,你只会有 1 个列表
当您想根据自己的条件执行任何操作时,只需循环列表或查找列表中的项目即可