hallo, bissel unglücklich die Themenwahl, aber ich versuch mein Glück
Also folgender Sachverhalt:
Ich habe in einem MVC-Gebilde einen Controller, welcher die reine Datenmanipulation beinhaltet. Er wird nur durch andere Controller aufgerufen. Sprich wenn jemand nen Knopf drückt oder nen Menüeintrag etc. wird der jeweilige ViewController angesprochen, und dieser ruft bei Bedarf (wenn die Funktion des Buttons es vorsieht) den Datencontroller auf, und soll ihm mitteilen was der Nutzer grad machen möchte (neuer Datensatz, Datensatz löschen, Datensatz ändern, alle ändern etc.).
Bei jeder Manipulation prüfe ich ob gewissen Sachen eingehalten werden (null-prüfung und weiss der geier was), daher einen zentralen Daten-Controller.
So der Aufruf für den Datencontroller sah in meiner Vorstellung grob so aus:
der Controller beinhaltet also alle Befehle die von aussen aufgerufen werden können.
Mir schwirrte nun immer der Begriff "Command-Pattern" durch den Kopf, was ich so recht noch nicht genutzt hab. Aber mir scheint als wäre es das richtige, doch wenn ich mir das hier anschaue, zweifel ich ein wenig. Das Auslagern der Befehle in extra Klassen is mir suspekt. In meiner Variante wäre doch alles beim Controller gut aufgehoben.
Eventuell gibts ein anderes Pattern, was mehr in meine Vorstellung passt, oder soll ich einfach meine Idee umsetzen?
Bitte um eure Meinung.
Also folgender Sachverhalt:
Ich habe in einem MVC-Gebilde einen Controller, welcher die reine Datenmanipulation beinhaltet. Er wird nur durch andere Controller aufgerufen. Sprich wenn jemand nen Knopf drückt oder nen Menüeintrag etc. wird der jeweilige ViewController angesprochen, und dieser ruft bei Bedarf (wenn die Funktion des Buttons es vorsieht) den Datencontroller auf, und soll ihm mitteilen was der Nutzer grad machen möchte (neuer Datensatz, Datensatz löschen, Datensatz ändern, alle ändern etc.).
Bei jeder Manipulation prüfe ich ob gewissen Sachen eingehalten werden (null-prüfung und weiss der geier was), daher einen zentralen Daten-Controller.
So der Aufruf für den Datencontroller sah in meiner Vorstellung grob so aus:
Code:
public class DataController {
//Befehle
//irgendwie n public Enum "request" mit den möglichen Befehlen drin (ADD, REMOVE, ADDALL, CHANGE, REMOVEALL ...
public boolean handleRequest(request r, FooData d) {
switch(r) {
.... //aufruf privater Methoden für spezifischen Befehl
}
}
}
der Controller beinhaltet also alle Befehle die von aussen aufgerufen werden können.
Mir schwirrte nun immer der Begriff "Command-Pattern" durch den Kopf, was ich so recht noch nicht genutzt hab. Aber mir scheint als wäre es das richtige, doch wenn ich mir das hier anschaue, zweifel ich ein wenig. Das Auslagern der Befehle in extra Klassen is mir suspekt. In meiner Variante wäre doch alles beim Controller gut aufgehoben.
Eventuell gibts ein anderes Pattern, was mehr in meine Vorstellung passt, oder soll ich einfach meine Idee umsetzen?
Bitte um eure Meinung.