"глобальные / общие" данные с объектно-ориентированным программированием

Я новичок в программировании ОО и у меня проблемы с "глобальными / общими" данными. Проблема в том, что я получаю данные (около 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;

    }
}

0 ответов

Другие вопросы по тегам