"глобальные / общие" данные с объектно-ориентированным программированием
Я новичок в программировании ОО и у меня проблемы с "глобальными / общими" данными. Проблема в том, что я получаю данные (около 60 переменных) из шины данных каждые 20 мс. Тогда у меня есть много классов, которым нужны эти данные, а также изменить их.
Моим решением было создание класса, включающего все переменные, поэтому все "глобальные" данные находятся в одном объекте. И тогда у каждого класса есть ссылка на этот объект в конструкторе. Это работает, но я уверен, что это не очень хороший способ, как это сделать. Как бы вы решили эту проблему? Буду очень признателен за любой совет!!
Вот пример Java, который я знаю, должен быть getter/setter:
public class MainProgram {
private GlobalData iGlobalData;
private TestClass iTestClass;
public MainProgram(){
iGlobalData = new GlobalData(this);
iTestClass =new TestClass(this);
}
public static void main(String[] args) {
MainProgram h =new MainProgram();
iTestClass.docalc();
System.out.println(iGlobalData.test);
}
}
public abstract class MainProgramComponent {
private MainProgram iMainProgram;
}
public class GlobalData extends MainProgramComponent{
public int test;
GlobalData(MainProgram iMainProgram){
super(iMainProgram);
}
}
public class TestClass extends MainProgramComponent{
private GlobalData iGlobalData;
TestClass(MainProgram iMainProgram){
super(iMainProgram);
this.iGlobalData=iMainProgram.getiGlobalData();
}
public void docalc(){
iGlobalData.test =iGlobalData.test+1;
}
}