В настоящее время я работаю над хобби-проектом, написанным на Java, содержащим около двух разных JFrames с примерно 3-4 JPanels каждый. Проблема, с которой я сталкиваюсь, заключается в том, что я не совсем уверен, как справиться с взаимодействием с моим контроллером и различными классами представлений.
Например, у меня есть статья Sun о Java-приложении. дизайн с MVC , где они перечисляют опцию, позволяющую всем коммуникациям между моделью и представлением проходить через контроллер, как самую современную, тактику, которой меня тоже учили, и она должна отлично справляться. Тем не менее, это не так глубоко, как объяснить, как обрабатывать все ActionListeners, задействованные для всех элементов и различных панелей.
«Путь», которому меня учили до сих пор, состоит в том, чтобы либо использовать один контроллер и установить ActionListener для различных объектов через геттеры, и отслеживать активную панель. Альтернатива, которую дает моя удивительная книга по Java, - это просто придерживаться внутренних классов для каждого класса представления. Кажется, что любой из этих методов приводит к довольно неприятному коду, в то время как я бы предпочел один или несколько контроллеров с как можно меньшим раздутием.
Мой вопрос, конечно, таков; Как бы вы назначили ActionListeners как можно более аккуратно и эффективно при сохранении возможности использования контроллера (ов)?