Hallo,
ich bin an einem etwas größerem Programm und programmiere neben, dem Hauptprogramm auch ein paar Klassenbibliothek.
Nun stehe ich vor dem Problem, wo ich Forms, Klassen etc. hinschreiben soll. Beispiel: kommt eine Form in eine dll Datei oder in das Hauptprogramm
Gibt es irgendeine Regel, in der steht, was in eine Klassenbibliothek soll und was nicht???
Gruß
Hallo Superman8000,
wichtig ist, dass du GUI und Modell trennst. Du kannst durchaus (wiederverwendbare) Forms in eine eine GUI-Bibliothek packen und anderen Klassen in die Modell-Bibliothek. Nur eben nicht beides zusammen.
herbivore
Hallo herbivore,
also wenn ich dich richtig verstehe, soll ich eine Klassenbibliothek für die Klasse "Auto" nehmen und eine Klassenbibliothek für die Form, in der man das Auto erstellen kann???
Gruß Superman8000
also wenn ich dich richtig verstehe, soll ich eine Klassenbibliothek für die Klasse "Auto" nehmen und eine Klassenbibliothek für die Form, in der man das Auto erstellen kann???
Ja, dass ist wichtig. Die Anzeige und das Modell müssen voneinander getrennt werden.
Das sind unterschiedliche Aufgabenbereiche. So kann das Modell z.B. auch sinnvoll verwendet werden, wenn es keine GUI gibt. Stell dir vor, du liest aus einer Datei Operationen ein und führst diese auf dem Modell aus. Oder du schreibst eine Konsolen-Anwendung. Oder das ganze soll ein Web-Frontend bekommen.
Das ist für die meisten Mini-Anwendungen weit hergeholt, da wird es immer nur die eine Oberfläche geben. Aber ein wesentlicher Sinn von OOP ist die Trennung der Verantwortlichkeiten. Das erhöht nicht nur die Wiederverwendbarkeit sondern auch die Verständlichkeit.
Und graphische Darstellung und Modell sind unterschiedliche Verantwortlichkeiten, sollten daher voneinander getrennt werden,
Viele Grüße,
Uwe
Gibt es dafür irgendwelche Beispiele oder weiterführende Erlärungen im Internet??? Höhre davon zum ersten Mal zu richtig.
Gruß Superman8000
Eine erste Anlaufstelle (die aber schon ins Detail geht) sind die ersten 5 Kapitel von
Galileo Openbook: Objektorientierte Programmierung. Besonders Kapitel 3 geht auf diese Grundanliegen ein. Die restlichen Kapitel ab 6. werden dann schnell technischer.
Im Grunde kann man das ganze ja so zusammenfassen: "Ein Programm muss/sollte mit jeder Form lauffähig sein.
Gruß Superman8000
Im Grunde kann man das ganze ja so zusammenfassen: "Ein Programm muss/sollte mit jeder Form lauffähig sein.
Das ist zu speziell. Es gibt ja nicht nur Programme mit GUI, sondern auch mit Webfrontend, Console, ohne UI (Windowsservice, Webservice).
Also eher "Die Klassenbibliothek sollte ohne spezifisches UI verwendbar sein".
so in etwa kann man das so sagen. stell dir mal folgendes vor:
du schreibst eine datenbankanwendung mit gui und allem drum und dran. wenn du nun gui und schnittstellenklasse, tabellenklassen etc. trennst in zwei verschiedene projekte (gui hauptprogramm und db klassen und connector in die bibliothek) brauchst du später bei einer anderen datenbankgrundlage nur die entsprechende dll auszutauschen und nicht das ganze programm. das ist auch ein wesentlicher bestandteil der oop
OK, so weit verstanden. Aber ein Problem habe ich noch, denn ich möchte gerne, dass mein Programm verschiedene sprachen unterstützen soll. Ich habe schon öfters gesehen, dass jede Sprache eine dll-Datei, also eine Klassenbibliothek hat. Nun stelle ich mir dabei die Frage, wenn ich Englisch auswähle, wie ich es dann dem Programm mitteilen soll, das er nur die Englisch dll Datei betrachten soll.
Könnt mir dabei mal helfen???
Google mal, zu dem Thema gibt's einiges. Schau dir mal satellite.dlls und den RessourceManager an.
Hallo,
habe schon die ganze Zeit auch gesucht, finde aber kein gutes Beispiel. Kennt ihr vill ein gutes???
Gruß
Hallo Superman8000,
bitte nur ein Thema pro Thread. Siehe [Hinweis] Wie poste ich richtig? Punkt 1.2.
Zur Lokalisierung (von Anwendungen) musst du gar nicht googlen, sondern nur unter diesem Stichwort in die :rtfm: Doku gucken.
herbivore