Ich habe gerade irgendwie totall ein Brett vorm Kopf was genau MVC machen soll.
Ich habe da an ein paar Stellen meine Probleme...
Also ich habe verstanden das man bei MVC eben Model View und den Controller trennt
Ich habe eine Software entwickelt die das eigendlich einhalten soll nur bin ich mir unschlüssig ob ich das richtig um setze.
Die Verbindung zwischen View und Model ist einleuchten, das habe ich auch soweit drin
Die View kennt das Model und das Model nicht die View... über einen Observer werden dann Veränderenugen an der View weiter gegeben.
Nur was ist genau der Controller? Ist das der Eventlistener in meine View? darf er nicht in der selbe Klasse sein wie die View? was ist dann trennung?
Fragen über Fragen kann mich bitte einer auf klären? Im Internet finde ich auch verscheidene Sachen die sich irgendwie wiedersprechen mal hat der Controller ein Assziation zur View und mal ist es Umgekehrt.... klar ist nur das der Controler nur das Model verändert
mir Ist noch eine Frage eingefallen kann eine Netzwerkverbindung die Daten überträgt auch der Controller sein?
Der Controller ist die Schnittstelle zwischen Model und View. In deinem Fall ist es der Observer. Auf jeden fall kennt das Model den Controller, um eben zB setChanged() und notifyObservers() aufrufen zu können. Wenn man auch als User das Model in der View ändern können soll, muss auch die View den Controller kennen, der dann die Befehle interpretiert und ans Model weiterreicht.
hmm wenn ich das richtig verstanden habe ist dann bei mir die dei Wurzel meines Models der Controller? da ich dort den Observer drin und von dort kann nur setChanged() und notifyObservers() aufgerufen werden.
Ich habe keine richtige MAin und da ich EIn Eclipse Plugin entwickelt habe. Um von der View immer auf dem Model zuzugreifen habe ich die Wurzel Singelton gemacht.
Ja, bei kleineren Programmen bei denen es wenig zu steuern gibt, steck ich den Controller in die gleiche Klasse, welche die übergeordnete GUI Komponente darstellt.