Laden...

Was soll in eine Klassenbibliothek und was nicht???

Erstellt von Superman8000 vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.505 Views
S
Superman8000 Themenstarter:in
16 Beiträge seit 2009
vor 14 Jahren
Was soll in eine Klassenbibliothek und was nicht???

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ß

49.485 Beiträge seit 2005
vor 14 Jahren

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

S
Superman8000 Themenstarter:in
16 Beiträge seit 2009
vor 14 Jahren

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

U
282 Beiträge seit 2008
vor 14 Jahren

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

S
Superman8000 Themenstarter:in
16 Beiträge seit 2009
vor 14 Jahren

Gibt es dafür irgendwelche Beispiele oder weiterführende Erlärungen im Internet??? Höhre davon zum ersten Mal zu richtig.

Gruß Superman8000

U
282 Beiträge seit 2008
vor 14 Jahren

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.

S
Superman8000 Themenstarter:in
16 Beiträge seit 2009
vor 14 Jahren

Im Grunde kann man das ganze ja so zusammenfassen: "Ein Programm muss/sollte mit jeder Form lauffähig sein.

Gruß Superman8000

F
240 Beiträge seit 2006
vor 14 Jahren

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".

V
352 Beiträge seit 2008
vor 14 Jahren

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

S
Superman8000 Themenstarter:in
16 Beiträge seit 2009
vor 14 Jahren

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???

C
52 Beiträge seit 2010
vor 14 Jahren

Google mal, zu dem Thema gibt's einiges. Schau dir mal satellite.dlls und den RessourceManager an.

S
Superman8000 Themenstarter:in
16 Beiträge seit 2009
vor 14 Jahren

Hallo,

habe schon die ganze Zeit auch gesucht, finde aber kein gutes Beispiel. Kennt ihr vill ein gutes???

Gruß

49.485 Beiträge seit 2005
vor 14 Jahren

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