Giulliano:
Paulo no caso exposto nosso contoller não deveria receber requests o actions-listeners já que estes estão intimamente ligado ao tipo de arquitetura.
O ideal seria ter um controller para web e um para desktop, onde ambos poderiam invocar um segundo controller que seria responsável por fazer as chamadas e retornar o esperado. Dessa maneira haveriam dois controllers um centralizado ( FRONT-CONTROOLER ) e outro responsável pela view específica.
Essa seria uma maneira de aplicar esses conceitos. Ou ainda usar um ApplicationService, Facade ou outro pattern qualquer que garanta a mesma chamada para ambas as views sempre trafagendo POJO e não requisições ou eventos.
Giuliano, não sou tão experiente em arquitetura de sistemas mas uma coisa eu pude notar sobre o MVC e sua aplicação.
Houve N discuções nesse e em muitos outros foruns e listas sobre implementação de MVC. Já lí sobre um “controller genérico” para ser reaproveitado também em várias views, o que na minha opinião está errado, ao menos na nomenclatura.
Se você tem um “controler” genérico que simplifica algumas chamadas a model (essa que jamais será alterada) que poderá ser usado para qualquer view do seu sistema, [color=darkred]então você não tem um controler, você tem um façade pro seu model[/color], o que não tem nada de errado e se bem aplicado facilita realmente o trabalho.
Entendeu a diferença? Entendo a sua busca por um modelo mais simples e genérico a ponto de se reaproveitar código, cuidado pra não aplicar errado alguns patterns, o que pode não ser o caso, você pode ter começado querendo implementar um controler genérico e acabou com um façade em mãos.