1.Я хотел бы знать, неверна ли следующая структура, в чем причина и каков выход из этого:
Предположим, я реализовал клиент для сетевой игры
У клиента есть 2 основных пакета:
A.GUI - удерживайте все поворотные панели и т. Д.
B.LogicEngine
В движке логики у меня есть класс clientThread, основной целью которого является взаимодействие с сервером для получения команд для выполнения на панели графического интерфейса, а также для отправки информации обратно в результате выбора пользователя на панелях графического интерфейса.
2. Для этого я склонен хранить ссылку на мою основную панель графического интерфейса в clientThread и наоборот, так ли неправильно делать циклическую ссылку между двумя классами разных проектов?
3. Неправильно ли в объектно-ориентированном программировании выполнять вещи, которые будут отображаться в графическом интерфейсе, изнутри класса, например клиентского потока, который каким-то образом отвечает за управление потоком игры, хотя он находится в пакете логического движка?
4. Также, если часть Gui знает и использует логическую часть, это проблема?
Хотелось бы услышать несколько советов
Большое спасибо