DesignFrage
-
Hallo,
folgendes Problem:
Ich habe eine GUI-Form-Klasse und eine 2. Klasse, die mir einen Socket kapselt. Per GUI soll man nun ganz einfach Daten versenden können etc, d.h. die GUI Klasse benutzt die Socketklasse. Andererseits muss die Socketklasse auch auf die GUI zugreifen können (wenn ne Nachricht reinkommt, soll das in der GUI angezeigt werden). Frage: WIE designe ich das? Natürlich könnte ich einfach der GUI-FORM-Klasse eine Instanz des Sockets geben, aber das passt halt nicht (Ein Fenster HAT ja keinen Socket)
Wie bringe ich also gui und die logik (socket) zusammen?
-
Du könntest eine Klasse zwischen beide setzen. So braucht die GUI nix direkt vom Socket wissen und umgekehrt. Die Klasse kapselt die Zugriffsmethoden auf das Socket und bietet Ereignisse an.
-
doc/view architectur...
je nachdem welches framework (mfc, wxwidgets) du für die gui benutzt sollte sowas schon dabei sein!
falls das nicht geht such mal nach dem design - muster observer.
http://www.cs.toronto.edu/~wl/teach/407/2003s/tutorial0321.handout2.pdf
oder
http://www.codeguru.com/Cpp/Cpp/cpp_mfc/patterns/article.php/c837/gruß
-
Ich weiß was Observer is, nur bringt mir das hier nix. Naja, ich habs jetzt einfach so gemacht, dass die GUI Klasse einen Socket HAT. Is zwar kein schönes Design aber es funzt
-
Mit dem MVC Modell
http://st-www.cs.uiuc.edu/users/smarch/st-docs/mvc.html
http://ootips.org/mvc-pattern.html
-
in dem Falle würde ich einfach nen Polling auf den socket machen oder warten bis ne antwort kommt (was wohl nicht so günstig wäre...
Wie siehts mit threadding aus ?