Frequentemente, quando eu desenho um programa com MVC, o controlador é inútil na metade do tempo.
O que quero dizer é o seguinte: algo acontece na visualização (por exemplo, um clique no botão). A vista então notifica o controlador. O controlador delega diretamente ao modelo e não faz mais nada porque não tem nada a fazer.
Por exemplo:
O usuário pressiona o botão 'Cor azul'> a visualização informa ao controlador controller.colorBlue()
> o controlador informa o modelo model.colorBlue()
> o modelo colore algo azul.
Neste exemplo, o controlador parece inútil. Não acrescenta nada. A visão também poderia ter falado diretamente com o modelo.
Na outra metade do tempo, no entanto, o controlador faz algum tipo de mediação entre a visualização e o modelo.
Minha pergunta é a seguinte: quão comum isso é nas estruturas MVC? É razoável que metade do tempo meu controlador pareça desnecessário? Ou isso é um problema? Isso é comum? Como devo abordar isso?
Se minha pergunta não estiver clara o suficiente, diga-o.
controller.colorBlue()
realmente chamarmodel.setColor(0, 0, 255);
. Um motivo para a separação entre Model e View é que geralmente há vários elementos da interface do usuário para representar um único estado no modelo (por exemplo, um item é verificado no menu, a barra de ferramentas é pressionada e o ponteiro é alterado para um preenchimento icon all corresponde ao campo de ferramentas atualmente selecionado no modelo), com a separação do MVC, o modelo não precisaria se preocupar em sincronizar os diferentes elementos da interface do usuário.