Sobes.tech
Junior — Middle

Como ocorre a troca de informações entre o modelo, a visão e o controlador na arquitetura MVC?

sobes.tech IA

Resposta da IA

Na arquitetura MVC (Model-View-Controller) ocorre uma separação de responsabilidades entre três componentes:

  • Model (Modelo) — responsável pelos dados e lógica de negócio.
  • View (Vista) — responsável por exibir os dados ao utilizador.
  • Controller (Controlador) — processa a entrada do utilizador e interage com o modelo e a vista.

A troca de informações ocorre da seguinte forma:

  1. O utilizador interage com a View (por exemplo, ao clicar num botão).
  2. A View envia o evento para o Controller.
  3. O Controller processa o evento, possivelmente alterando os dados no Model.
  4. O Model atualiza o seu estado.
  5. O Model notifica a View sobre as alterações (por exemplo, através do padrão observador ou chamada direta).
  6. A View atualiza a exibição com base nos novos dados do Model.

Exemplo em PHP (simplificado):

// Controlador
class UserController {
    private $model;
    private $view;

    public function __construct($model, $view) {
        $this->model = $model;
        $this->view = $view;
    }

    public function updateUserName($name) {
        $this->model->setName($name);
        $this->view->render($this->model->getData());
    }
}

Assim, o controlador atua como intermediário entre o modelo e a vista, garantindo o fluxo de dados e eventos.