MVC (Model - View - Controller), mehrere Subcontroller-Ebenen?



  • Hallo,

    euch ist vielleicht das MVC-Pattern bekannt. So wie ich das verstanden habe, gibt es einen Main-Controller, der dafür zuständig ist, anhand der URL den richtigen "eigentlichen" Sub-Controller rauszusuchen, der dann die Dinge abarbeitet, die für die Seite und die gewünschte Aktion relevant sind.

    Jetzt habe ich folgendes Problem:

    Ich hab eine Seite, auf der entweder ein Formular oder eine Loginmaske angezeigt wird. Diese Seite würde ja dann vom Sub-Controller verwaltet, also würde dieser auch prüfen, was angezeigt werden soll. Jetzt gibt es aber in dem Formular verschiedene Menüpunkte und in einem davon soll wiederum eine Onlinezahlung möglich sein. Die Onlinezahlung wiederum kann mit einem von verschiedenen Anbietern durchgeführt werden.

    Das würde ja bedeuten, dass ich folgende Logik in meinem Controller hab:

    • Anzeige Login/Formular?
    • Aktueller Menüpunkt = Zahlungsseite? Wenn ja: Entscheidung, welcher Anbieter für die Zahlung genommen wird
    • bei Abschluss der Zahlung prüfen, welcher Anbieter aktiv ist und anhand dieses Anbieters das richtige Model raussuchen und die Zahlung verifizieren usw.

    Mir wirkt das etwas viel für einen einzelnen Controller, aber einen weiteren Sub-Controller (was dann ein Sub-Sub-Controller wäre) soll man ja nicht haben. Wie löst man das Problem?



  • Main-Controller, der dafür zuständig ist, anhand der URL den richtigen "eigentlichen" Sub-Controller rauszusuchen

    MVC Pattern sieht erstmal keine Sub-Controller vor und spricht auch nicht von URL. Jedoch kann die Implementierung kann aber in logische Einheiten unterteilt werden (wie alles eben).

    Wenn es um Webzeugs geht, dann sollte man auch in dieses Forum posten.



  • Ist MVC nur web-bezogen? Ich dachte, es sei ein allgemeines Pattern.

    Wenn du von logischen Einheiten redest, meinst du dann mehrere Controller, die sich dann wiederum gegenseitig aufrufen oder ein Controller, der verschiedene Models aufruft?



  • Ist MVC nur web-bezogen? Ich dachte, es sei ein allgemeines Pattern.

    Dein Problem ist Webbezogen. Gekennzeichnet durch Worte wie Seite, Formular, Login und URL.

    Wenn du von logischen Einheiten redest, meinst du dann mehrere Controller, die sich dann wiederum gegenseitig aufrufen oder ein Controller, der verschiedene Models aufruft?

    Nein, ich rede davon, dass MVC sehr allgemein ist und die tatsaechliche Umsetzung auf vielfaeltige Art und Weise geschen kann. Bspw.: Wieso gehst du von Sub-Controller im Allgemeinen aus? Warum soll man Sub-Sub-Controller nicht haben?


Anmelden zum Antworten