Hallo, ich Programmiere in C++ und habe hier eine ganze Menge Klassen, die ich jetzt auf zwei LIBs (.lib) aufteilen möchte. Und ich frage mich, wie mach ich das am Besten ? Klar ist, daß ich das nach 'Themen' ordne. Also Thema A in LIB1 und Thema B in LIB2. Jetzt ist es aber so, daß LIB1 eine Klasse aus LIB2 verwendet. Und ich bin irgendwie unschlüssig, ob das ein gutes Konzept ist. Oder ob es an sinnvoller Klassenaufteilung mangelt. LIB1 ist dann ja auch immer auf LIB2 angewiesen und kompiliert dann garnicht alleine. Hmmmmmmm. Wenn ich da jetzt mal genauer nachdenke wird das ja statisch erledigt. D.h. Die Klasse von LIB2 wird einfach in die LIB1 kopiert. Und das Problem hat sich erledigt. Liege ich da richtig ? Gruß Peter
Peter schrieb: > Jetzt ist es aber so, daß LIB1 eine Klasse aus LIB2 verwendet. Und ich > bin irgendwie unschlüssig, ob das ein gutes Konzept ist. Oder ob es an > sinnvoller Klassenaufteilung mangelt. Das weisst im Moment nur du. Du solltest dir folgende Frage stellen: Warum sollen es zwei Libs sein? Das macht dann Sinn wenn eine Lib z.B auch ohne die Funktionen der anderen sinnvoll in anderen Projekten genutzt werden kann. Beispiel: Du hast eine Lib mit universellen Funktionen für den Zugriff auf Datenbanken Eine zweite Lib nutzt diese erste um spezifische Zugriffe auf eine bestimmte Datenbank zu machen. Diese zweite wird von mehreren Projekten genutzt um auf diese spezifische Datenbank zugreifen zu können. Andere Projekte wiederum nutzen nur die erste Lib um damit auf andere Datenbanken zuzugreifen. Zyklische Verkettung wie lib2 nutzt lib1 und lib1 nutzt lib2 sollte man vermeiden.
:
Bearbeitet durch User
Es gibt in der Regel keinen grund, 2 getrennte libs zu haben. Höchstens 2 oder 3 verschiedene compilierungen ("Ziele") aus einem Quelltext. Darum: was meinst Du mit 2 libs. Warum 2? Was versprichst Du Dir davon? Programme werden dadurch nicht größer oder kleiner oder einfacher.
Peter schrieb: > LIB1 ist dann ja auch immer auf LIB2 angewiesen und kompiliert dann > garnicht alleine. Muss nicht zwangsläufig ein Problem sein. Auch libs können libs verwenden. Wenn lib2 auch von lib1 abhinge, wäre es vermutlich unsinnig. Wichtiger ist, macht es konzeptionell sinn. Überleg dir, wofür ist welche lib? Dann frag dich, macht es sinn, das das von dem abhängt, oder umgekehrt, oder ist es problematisch? Wie wird sie verwendet, nützliche Funktionen Auslagern zum wiederverwenden, plugin artiges, optionale Zusatzfeatures, etc? Überleg dir auch, was du bei den Libs exportieren willst / nutzen willst. Wie soll die API aussehen, das das zukünftig gut weiterentwickelbar & stabil bleibt? Sollten gewisse dinge wegabstrahiert / von der Anwendung versteckt, oder umgekehrt, werden? usw.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.