MichiLee: Vorteil MVC

Beitrag lesen

hi,

Man hätte jetzt ganz blöd ausgedrückt, in der Klasse "view" ja schon ein "Model" erstellen können und bräuchte im main-programm nicht einmal model und view erzeugen. Ich frage mich nun, wie es grob aussehen würde, wenn ich das Aussehen des Calculators oder anstatt Multiply eine andere Rechnung integrieren/verändern wurde, denn mit MVC sollte das ja nun praktisch/unaufwändig gehandhabt werden

Solange sich die View weiterverwenden lässt, brauchst du das Model nur um weitere Funktionen zu erweitern oder schreibst bei grundlegend verschiedenen Aufgaben ein neues. Dem Controller eine weitere Action hinzufügen und fertig ist die neue Funktionalität (sehr vereinfacht dargestellt).

Nehmen wir an, ich mach eine neue Funktion "Wurzel" anstatt Multiply und will die View behalten.

1. Ich erweitere das Model (bei komplexeren Sachen evtl. neue Klasse) um die die Methode public void wurzel (String d) {//Führe die Wurzel aus}

2. Im Controller mache ich dann einen WurzelListener der dann die spezielle wurzel-Methoden von Model aufruft.

Und jetzt kommts, wenn ich das Verstanden ist es abgehakt.

a) Ich müsste praktisch die View auch abändern, da der Knopf nicht mehr "Multiply" heißt, sondern Wurzel? Dazu könnte ich aber sicherlich im Controller den Namen des Knopfs übergeben. Wobei ich dann das Gefühl habe, dass alles nun anfängt ineinander hineinzufriemeln?

b) Meinen Main-Programm müsste ich dann auch anders aufrufen, damit der Controller weiß, welchen Listener er auswählen muss. Einfach einen Zusatzparameter mitgeben beim Erzeugen?

Grüße