Можно ли инициализировать все классы внутри основного класса? - PullRequest
0 голосов
/ 28 мая 2020

Недавно я начал работать над одним из моих первых более крупных проектов, и я заметил, что все больше классов начинает накапливаться, у меня никогда не было больше, чем 3-4 классов, и мне было интересно, есть ли какой-то недостаток для инициализации всех классов и создания геттеры для каждого экземпляра этих классов внутри основного.

DatabaseClass db;
Commands cmds;
Configuration configuration;
public Configuration getConfiguration() { return configuration; }
public Commands getCommandsClass() { return cmds; }
public DatabaseClass getDatabaseClass() { return db; }
//Inside of some sort of method
    db = new DatabaseClass(this);
    cmds = new Commands(this);
    events = new Configuration(this);

И затем я создаю новые объекты внутри какого-то метода. Это неправильный подход? Есть ли лучший способ справиться с этим? Заранее спасибо!

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

То, что вы делаете, это самый простой c способ объявления объектов, и это определенно приведет к проблемам в будущем. Одна проблема в том, что это невозможно проверить.

Q: Можно ли инициализировать все классы внутри основного класса?

A: Короткий ответ - «НЕТ».

Тогда где мы их инициализируем?

Это зависит от требований вашего проекта и типа применяемого шаблона проектирования.

Вы можете посмотреть: https://www.javatpoint.com/design-patterns-in-java

0 голосов
/ 28 мая 2020

Попробуйте следовать иерархической структуре, руководствуясь обязанностями.

Основной класс будет отвечать за инициализацию высокоуровневых объектов приложения, но вы должны сохранить каждый объект с классом, который обладает знаниями для его инициализации и управления.

Это глубокий c, но определенно работоспособный навык. Ищите шаблоны GR ASP в качестве руководства (GR ASP обозначает принципы / шаблоны программного обеспечения с назначением общей ответственности), об этом есть хорошая запись в википедии.

...