Forum: PC-Programmierung Funktionenaufteilung innerhalb zweier LIBs


von Peter (Gast)


Lesenswert?

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

von Udo S. (urschmitt)


Lesenswert?

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
von dummschwaetzer (Gast)


Lesenswert?

mach halt noch eine 3. lib

von A. S. (Gast)


Lesenswert?

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.

von DPA (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.