[Tutorial gesucht] Modulprogrammierung



  • Hallo,

    ich entwerfe eine Warenwirtschaft und verwende wxWidgets.
    Die Software soll modular aufgebaut sein - sprich, es gibt z.B. einen Zusatz für Seriennummern, Mahnwesen, ... .

    Aus diesem Grund suche ich ein Tutorial über Modulprogrammierung - z.B. Plug-In-System. Die Grundsoftware soll also nur um ein Modul erweitert werden OHNE die gesamte Grundsoftware zu ändern.

    Ferner wäre ein Tutorial hilfreich um z.B. mehrere Programmiersprachen miteinander zu vermischen. Z.B. Grundsoftware in C++, Erweiterung Reportgenerator in Delphi. Diesen Schritt finde ich notwendig, da ich bis jetzt keinen brauchbare freie Software (Reportgenerator/-designer) unter C++ gefunden habe.

    Unter Google oder ähnlichen Suchmaschinen habe ich bis jetzt nicht brauchbares gefunden - kann evtl. sein, dass ich nach etwas falschem gesucht habe.

    Danke.

    Gruß,
    dragonos



  • wxWidget hat AFAIK eine eigenes Modul System. Schau dir am besten mal die wxWidget Doku an.

    Diesen Schritt finde ich notwendig, da ich bis jetzt keinen brauchbare freie Software (Reportgenerator/-designer) unter C++ gefunden habe.

    ist theoretisch kein Problem. Du musst eben nur dynamisch ladbare librarys erzeugen, die Binär kompatibel sind zu der verwendeten Modul ABI. Dann ist es egal ob du Delphi, Basic, Lisp oder Brainfuck nimmst 😉



  • Hallo,

    erstmal Danke für die Antwort.

    Spielst du auf wxModule an?
    Soweit ich es verstanden habe ist wxModule ein Ersatz für globale Objekte, allerdings kein Modul-/Pluginsystem wie ich es benötige.
    Bsp.: Du hast ein Grundsystem. Dieses Grundsystem kannst du um Module (Mahnwesen, ...) erweitern. Das beste wäre eine Möglichkeit ähnlich wie in Grafikprogrammen mit dem Import neuer Filter.

    Hast du etvl. noch einen Tipp - bzw. genaue Info's?

    Danke.
    dragonos



  • mehrere Sprachen? dynamisch ladbare Komponenten? Hört sich nach nem Fall für CORBA an.



  • 1. Also, mir fallen da mehrere Möglichkeiten ein. Z.B. DLLs... das Beispiel schlechthin, um eine Software zu erweitern! Das bringt also Windows schon von Haus aus mit. 👍 Du muß halt nur eine Schnittstelle vorgeben, die die DLLs mind. haben müssen, damit dein Hauptprogramm und die DLLs Informationen austauschen können. Ruckzuck hat man sein Programm mit einem Plugin-System versehen.

    2. Dann gibts da noch das Windows-Memory-Sharing-System, wo sich mehrere Programme einen Speicherbereich teilen können.

    3. Eine andere Möglichkeit ist, das zwei Programme über eine Socket-Verbindung kommunizieren. da kannst du dir ja ein eigenes "einfaches" Protokoll definieren, und schreibt zur Einfachheit eine kleine PlugIn-Library. Programmiersprache usw. wären dann auch egal. Da würden also sogar Plugins funktionieren, die nicht auf dem selben Rechner liegen und wäre sogar unabhängig vom Betriebssystem. 😃

    4. Letztendlich gibts dann noch CORBA oder was aktuelleres ist WebServices! Da kommuniziert man über HTTP-Protokoll und SOAP-nachrichten. Das wäre Punkt 3, jedoch in dem Fall standardisiert.



  • 4. Letztendlich gibts dann noch CORBA oder was aktuelleres ist WebServices! Da kommuniziert man über HTTP-Protokoll und SOAP-nachrichten. Das wäre Punkt 3, jedoch in dem Fall standardisiert.

    WebServices? Du willst wirklich innerhalb einer Anwendung zur Kommunikation zwischen einem Programm und einem Modul WebServices verwenden?

    Vielleicht fällt dir das ja leichter, wenn du in dein Hauptprogramm gleich den Apache mit reinlinkst und dem User noch ne Stange RAM schenkst 😉


Anmelden zum Antworten