Как избежать соединения View и контроллера в Swing

Недавно я столкнулся с проблемой, пытаясь реализовать Model-View-Controller вSwing.

У меня есть класс GUI, который состоит из подпанелей, и эти подпанели состоят из других подпанелей. Теперь в одной из этих суб-подпанелей естьJButton, вActionListener за этоJButton Я хочу вызвать метод в контроллере. Для того, чтобы сделать это, мне нужно было бы передать контроллер глубоко в недра GUI к панели sub-sub, гдеJButton проживает. Затем в этой подпункте мне нужно было бы прикрепитьActionListener кJButton и заполнитеactionPerformed() вызвав метод, который я хотел вызвать в контроллере.

Я уверен, что вы все видите проблему. Есть ли хороший способ избежать проникновения контроллера глубоко в недра GUI.

Моя единственная мысль состояла в том, чтобы сделать контроллер синглтоном, чтобы отделить его от вида, но я слышал, что синглтоны обычно злые.

Любой совет по этому вопросу будет наиболее ценным.

Ответы на вопрос(1)

Ваш ответ на вопрос