Я работаю над игрой, и у меня тонна слушателей.
Например, когда язык игры меняется, LanguageManager отправляет событие languageChanged, которое вызывает все заинтересованные пользователи.элементы, чтобы получить новый текст и перерисовать себя.Это означает, что каждый заинтересованный элемент графического интерфейса реализует класс LanguageListener.
Еще одна вещь, которую я часто выполняю, это внедрение зависимостей.GuiFactory должен установить шрифты, чтобы он имел указатель на FontManager (который содержит массив шрифтов TTF), он также имеет GuiSkinManager, поэтому он может получать Image * в зависимости от скина игры.Правильный ли это способ сделать это?
Однако меня больше всего беспокоит слушатель и его огромное количество;особенно для графического интерфейса.Используемая им библиотека графического интерфейса почти полностью управляется слушателем.Большую часть времени я могу обходиться без ActionListeners, но у меня все еще есть вложенные ifs для if event.getSource () == button2 и т. Д.
В общем, какие типы шаблонов дизайна используются, чтобы избежать этих проблем в большой игрепроекты, которые намного сложнее, чем у меня?
Спасибо