MichiLee: MichiLee

Beitrag lesen

Hi Peter,

vielen vielen Dank, du machst mir echt Mut und gibst Freude, mich noch mehr mit allem zu Beschäftigen. (Gut zu wissen, dass eine Klassenvariable für die ganze VM gilt. Also praktisch dann für alle. Muss mir dann noch anschauen, wo dann Synchronisation eingesetzt wird, bzw. wo man das braucht, da ich das schon oft sehe und mir denke, warum man da jetzt unbedingt synchronisieren muss)

Das einzige Problem, was ich derzeit noch habe, sind die Exceptions, wo ich in diesem Thread die Anfrage gestartet habe:
http://forum.de.selfhtml.org/?t=196746&m=1318614

Ich habe ja eine DataSourceFactory, mit Inteface DataSource und DatasourceSQL und das gleiche mit QueryFactory mit Interface Query und QuerySQL.

1. Mein Controller ruft ein UserModel auf, welches dann zum Beispiel ein User laden tut, indem das UserModel eine Query erzeugt, das Query benutzt dann Datasource. Wie auch immer.
Ich frage mich nun, wenn ein Fehler beim UserModel ankommt, wie er es handhaben sollte. Laut Sven sollte man ja nicht alle Fehler bis zum Controller weiterreichen, (Bsp. mysql-Treiber konnte nicht gefunden usw.)
Praktisch, wie weit ich immer einen Fehler weiterreichen soll.

2. Meine noch derzeitige Überlegung ist, wenn der Controller nach einem Login einen UserModel aufruft und ihm sagt: loadUserAfterLogin(userid, password)
Dann gibt das UserModel ein Objekt "User" zurück. Der Controller schaut, ob er ein "User" zurückbekommen hat, wenn ja, war der Loginversuch erfolgreich, ansonsten könnte der Controller sagen: "Ich habe kein User bekommen, ich schaue mal, ob es die UserID, bzw. den Usernamen überhaupt gibt, um die Fehlermeldung zu sagen, dass nur das Passwort falsch ist)
Dann wird erneut das UserModel aufgerufen, was mir dann ein boolean zurückgibt, ob es den User gibt.
Also habe ich zweimal das UserModel aufgerufen. Oder, ob ich vieles gleich vom Model erledigen lassen sollte, wenn er kein User findet, dass er dann selebr von sich aus prüft, dass es den Benutzer nicht gibt usw.
Ich glaube, das erstere wäre wohl besser :-)

Danach schaue ich mir die GUI's an, wie ich das realisiere und vom Controller aus einen persönlichen Bereich eines Users erstelle, was ich von was ableite, wie ich dann Änderungen vornehme vom Controller oder ob ich gleich eine neue Maske erstelle usw. usw, aber da bin ich in diesem Forum ja falsch. Da ist noch viel Arbeit. Ich denke, dass die Logik an sich mit dme Controller eigentlich schon gut steht, auch wenn ich nicht alle Richtlinien und Strategien/Prinzipien einhalten kann, bzw. Geschweige denn davon gehört habe. Gibt es eigentlich irgendwelche Richtlinien, ob man bestimmte Methoden statisch programmiert oder indem man erst ein Objekt bilden muss?)
Zu viele Fragen irgendwie, ich hoffe, dass es auch die letzten waren für die nächsten 2 Wochen ;)

Grüße