Controller und View-Trennung, gemeinsames Object?

#1

Hallo, also erstmal der Ist-Zustand:
Controller und View legt eine Route fest. Der Controller “kennt” zudem die View (unidirektionale Assoziation). (Separation of concerns (SoC)). Z. B. habe ich 8 Route. Wenn ich eine Route hinzufügen oder ändern möchte, so muss ich dies im Controller als auch in der View tun.
Der Soll-Zustand:
Ich möchte aber nur an genau einer Stelle die Route ändern können, worüber Controller und View Kenntnis erlangen.
Die Frage:
Kann dies durch ein gemeinsames Object erlangt werden? In dem Fall muss ein gemeins. Object aber auch in jeden Controller verwendet und an jede View “übergeben” werden. Oder gibt es eine viel bessere Mögl.? Also ich suche nach so etwas wie “Real-World Design Patterns”…

0 Likes

#2

was hälts du davon auch ein Model mit aufzunehmen? Dann würdest du die Route nur im Model ändern und die view nur informieren, dass sich das model geändert hat.

0 Likes

#3

Oh, das geteilte Object wäre dann Model?

0 Likes

#4

Ist immer schwierig eine Antwort auf solche Fragen zu geben.

Aber mit einer Rest-Architektur kann man zum Beispiel HATEOAS machen

0 Likes

#5

Danke Dir @ionutbaiu ! :blush: (und auch Dank an @AmunRa)

ja es ist eine REST-Architektur (bzw eine vernünftige soll es werden)…

0 Likes

#6

Hat jede View ein eigenes Model, oder hat jede View dasselbe Model?

0 Likes