Organisation vieler Klassen



  • Hallo,

    wenn ein Projekt Stück für Stück wächst und somit auch die Anzahl der Klassen (*.h und *.cpp Dateien) immer mehr zunimmt, was wäre ein guter Weg, diese Klassen zu organisieren?
    Bei Java kann man die entsprechenden (thematisch verwandte) Klassen in packages zusammenfassen. Gibt es so ein Äquivalent in C++ ?

    Danke für Ideen,
    Mat.



  • Hallo

    namespaces?

    chrische



  • [quote="chrische5"]Hallo

    namespaces?

    chrische[/quote]

    Was mir vor allem vorschwebt, ist so eine Art "collapsing" der Dateien in Oberflächen, wie z.B. eclipse oder ähnlichen. Bzw. eine Strukturierung...



  • Das hat doch nichts mit C++ zu tun. Das ist ein Texteditor-Feature.



  • Hallo zusammen,

    in erster Linie kann von Namensräumen (namespaces) Gebrauch gemacht werden. Dieses Konzept wurde auch in der Standardbibliothek verwendet (std::). Um die Pakete (wie sie in der UML meist genannt werden) auch physisch zu trennen, können aus ihnen Bibliotheken gemacht werden. Möchte man eine solche Komponente nur in einer Applikation verwenden, so werden statische Libraries verwendet. Findet die Komponente jedoch in mehreren Programmen Einsatz, so wird eine dynamische Bibliothek angelegt, um Redundanzen zu vermeiden.

    Wir halten also fest: Pakete bzw. Namenräume sind ein Konzept, welches eher programmiertechnich seine Bedeutung hat (z.B. wird vermieden, dass sich zwei Programmierer mit gleichen Bezeichnern in die Quere kommen) und Bibliotheken (unter Windows DLLs - wird unter Windows eigentlich auch irgendwie zwischen statischen und dynamischen Bibliotheken unterschieden?) dienen dem Zweck der physischen Trennung um nicht zuletzt Wartbarkeit und Redundanz positiv zu beeinflussen.

    Grüße Martin



  • Danke,

    somit werde ich dann das mit den Bibliotheken ins Auge fassen.



  • lucky_tux schrieb:

    (unter Windows DLLs - wird unter Windows eigentlich auch irgendwie zwischen statischen und dynamischen Bibliotheken unterschieden?)

    Ja, statische Bibliotheken haben die Dateiendung "lib" in Windows.

    Greetz


Anmelden zum Antworten