Sobes.tech
Junior — Middle

Wie erfolgt der Informationsaustausch zwischen Modell, Ansicht und Controller in der MVC-Architektur?

sobes.tech KI

Antwort von AI

In der MVC-Architektur (Model-View-Controller) erfolgt eine Verantwortlichkeitsaufteilung zwischen drei Komponenten:

  • Model (Modell) — verantwortlich für Daten und Geschäftslogik.
  • View (Ansicht) — verantwortlich für die Darstellung der Daten für den Benutzer.
  • Controller (Steuerung) — verarbeitet die Benutzereingaben und interagiert mit Modell und Ansicht.

Der Informationsaustausch erfolgt wie folgt:

  1. Der Benutzer interagiert mit der View (z.B. durch Drücken eines Buttons).
  2. Die View sendet das Ereignis an den Controller.
  3. Der Controller verarbeitet das Ereignis, ändert ggf. die Daten im Model.
  4. Das Model aktualisiert seinen Zustand.
  5. Das Model benachrichtigt die View über Änderungen (z.B. durch das Beobachter-Muster oder direkten Aufruf).
  6. Die View aktualisiert die Anzeige basierend auf den neuen Daten des Model.

Beispiel in PHP (vereinfachte Version):

// Controller
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());
    }
}

Auf diese Weise fungiert der Controller als Vermittler zwischen Modell und Ansicht und sorgt für den Daten- und Ereignisfluss.