I'm trying to design structure that will hold realtime data. Data will be different types - so I want the structure can hold them, eg.
Code:
class RealtimeRecord {
Tank tank1 = new Tank();
Tank tank2 = new Tank();
[...]
Engine engine1 = new Engine();
[...]
}
class Tank {
Parameter<Volume> vol = new Parameter<>();
Parameter<Temperature> temperature = new Parameter<>();
}
class Engine {
Parameter<RPM> rpm = new Parameter<>();
Parameter<Temperature> temp = new Parameter<>();
Parameter<Boolean> enabled = new Parameter<>();
}
Maybe instead of templates try different approach:
Code:
class Tank {
Parameter vol = new Parameter(Parameter.VOLUME);
Parameter temp = new Parameter(Parameter.TEMP);
Parameter enabled = new Parameter(Parameter.BOOLEAN);
}
void someMethod( Tank tank ) {
tank.getVolume().setValue(10, Parameter.VOLUME.LITER );
String volume = tank.getVolume().get(Parameter.VOLUME.CUBICMETER);
}
I need the structure to take as small amount of memory as possible becouse there will be lots of objectes held in memory (realtime data).
Any advices for good design ? Or maybe there are some already made patterns ?