Archiv verlassen und diese Seite im Standarddesign anzeigen : Programm-Design-Fragen.
Grüssi!
Habe wieder mal ein paar Fragen zu Java, nun, leider lassen sich diese nirgends so richtig zuordnen.
Mal sehen:
1.) Was sind Patterns?
So wie ich das verstanden habe, sind das kleine HowTos wie man am besten Code sauber schreibt mir kleinen Bespielen etc.
Kennt wer gute design-pattern für Java im Netz, fals ich den Begriff richtig verstanden habe?
2.) Saubere Trennung von Gui- und Anwendungscode:
Ich habe damit immer wieder ein Problem. Am Anfang ist alles fein, und irgendwann bestaht mein Code eigentlich nur mehr aus Referenzen-übergeben.
Kennt vieleicht wer gute Tutorials für Fortgeschrittene, die beschreiben, wie man ab besten vorgeht?
3.) Was sind Schichten-Anwendungen?
Ich habe schon öfters von Tier-Modellen gehört (2,3), wie funktioniert das denn wirklich? Kennt wer eine gute Seite?
4.) Ich muss gerade ein Programm schreiben, dass enorm viel auf Client/Server abwickelt.
Kennt vieleicht wer ein gutes Tutorial, dass sich mit Client/Server Kommunkation auseinandersetzt? Egal welche Sprache.
lg
Original geschrieben von ceisserer
1.) Was sind Patterns?
So wie ich das verstanden habe, sind das kleine HowTos wie man am besten Code sauber schreibt mir kleinen Bespielen etc.
Kennt wer gute design-pattern für Java im Netz, fals ich den Begriff richtig verstanden habe?
Patterns,DesignPatterns,Muster die ein in der Anwendungsentwicklung immer wiederkehrendes Problem beschreiben und den Kern der Lösung des Problems erläutern.
Paradebeispiel ist immer:
Von einer Klasse darf es nur eine Instanz geben mit einem zentralen Zugriffspunkt -> Singleton-Pattern.
Von Bruce Eckel gibt es ein E-Book,das DesignPatterns am Bsp von Java erläutert (Titel iirc 'Thinking in Patterns').
Deine zweite Frage ist auch eines der Probleme,die durch DesignPattern versucht werden in den Griff zu bekommen.
zu 2: Klassischer Kandiat: Das MVC-Muster.
Es trennt ein (graphisches) Programm in die Teile
M (Modell): alles, was Berechnungen macht.
V (View): die Ausgabe
C (Controller): die Eingabe
Beispiel ein Programm, das Sortieralgorithmen visualisiert (hab ich mal geschrieben)
M: im wesentlichen der Sortieralgorithmus, die Datenerzeugung (erzeugen von Zufallsdaten, sortierten Daten, invers sortierten Daten, ...) und ein bißchen Kleinkram
V: die Ausgabe, liest die (teil-) sortierten Daten vom Modell und bereitet sie graphisch auf.
C: alle Knöpfe, mit denen du irgendwelche Einstellungen machen kannst (wieviele Daten sollen sortiert werden, was für Daten sollen sortiert werden -> zufällig, sortiert, invers sortiert, ...)
Die Kommunikation findet über Ereignisse statt. Beispiel: Modell meldet, daß ein Sortierschritt abgeschlossen ist. Daraufhin liest View die Daten vom Modell und macht was damit. Wichtiges Design-Pattern ist das Befehl-/ Beobachter- Muster.
zu 1: Pattern (Muster) kannst du einfach mit Strickmustern vergleichen. Ein Architekturvorschlag, der für bestimmte Situationen sinnvoll ist.
Simples Beispiel, das du kennst: Iteratoren unter Java. Du kannst über alle Elemente beispielsweise einer Liste laufen, ohne zu wissen, wie diese Liste implementiert ist (Array, verkettete Liste, wilde Methoden).
Einfach im Netz suchen, da gibt es tonnenweise Doku. Garantiert, hab ich vor 'nem Monat auch machen müssen (stand 'ne Klausur an)
Hier noch ein Link mit ein paar Patterns
http://home.earthlink.net/~huston2/dp/patterns.html
code-Beispiele in Java und C++ sind auch vorhanden.
greets
f0rtex
Hi Leutz!
Danke erstmal für die vielen Anregungen. Ich habe mir erstmal "Thinking in Patterns 0.9" reuntergeladen, da mir auch Bruce Eckelts Buch "Thinking in Java2" sehr geholfen hat, OOP zu verstehen (ist schon ne weile her...).
Danke für alles
Moin,
du willst ein Entwurfsmuster für Client/Server Kommunikation?
Nimm einen Proxy.
Simples Prinzip: Du hast lokal ein Stellvertreterobjekt mit einer festen Schnittstelle. Diese gibt dir alle Funktionen, die der Server dir bietet.
Das Objekt nimmt die Anfragen entgegen und schickt sie auf's Netz, liest die Antworten und erzeugt die Rückgabewerte.
Das ist das Pattern. Was du brauchst, ist eine Anleitung, wie man die Implementation macht.
Entwurfsmuster sagen IMHO nichts, falsch wenig, über die tatsächliche Implementation aus. Sie bieten (auf technischer Ebene) Design-Konzepte...
Soll kein Angriff sein, ich wollte nur den Begriff klarstellen ;)
Was ich brauche ist ein Tutorial wie man performante Client-Server kommunikation schreibt.....
Mfg
anda_skoa
05-09-2003, 16:25
Wenn du Methodenaufrufe übertragen willst, bietet sich da bei Java RMI an (Remote Method Invocation)
Wenn es simpler geht, kann man mit ObjectStreams in Java eigentlich auch komplexere Protokolle relativ einfach implementieren.
Ciao,
_
Danke für die Tips!
Nein, was ich suche sind eher Sprachen/Platform-neutrale techniken. Es sollte z.B. ohne weiters möglich sein einen MFC Client dazuzuprogrammieren.
Also ein Asci-basierendes protokoll, bei dem eigentlich nur sehr viele Daten übertragen werden müssen.
Da hab ich mir halt gedacht, vieelicht gibt es schon Bibliotheken, die für solche Aufgaben geschrieben wurden, oder Howtos wie man sowas schnell und recourcensparend auslegen kann....
Mfg
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.