Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Modulares Programmieren (https://www.delphipraxis.net/70586-modulares-programmieren.html)

Robert de Bruce 1. Jun 2006 12:01


Modulares Programmieren
 
Also folgende Situation:

Ich habe ein Projekt, an dem 3 bis 5 Leute gleichzeitig basteln sollen. Das Programm soll mehrere Funktionen haben können, aber man muss sie nicht alle installieren. So ähnlich wie bei Plugins. Man soll das Programm also möglichst komfortabel erweitern können, oder die Funktionen wieder abschalten/ deinstallieren. Welche Möglichkeit der modularen Programmierung bietet sich da am besten an? Macht man das einfach mit Units, oder benutzt man DLLs?
Wie gesagt: im Vordergrund steht die Bearbeitung des Projekts mit mehreren Menschen, mit Hilfe eines Starteam Servers oder mit Tortoise...

SirThornberry 1. Jun 2006 12:05

Re: Modulares Programmieren
 
In bezug dessen das mehrere Gleichzeitig dran arbeiten sollen ist es eigentlich egal ob dll oder Objecte in eigenen Units. Wenn du jedoch willst das man später noch ein Modul installieren kann an das bisher noch nicht gedacht wurde so solltest du DLL's nehmen da man in diesem fall dann einfach nur das neue Modul (DLL) dem Kunden geben muss und fertig. Bei der Unitvariante müsstest du das ganze Programm dann weitergeben bei einem neuen Modul.

mkinzler 1. Jun 2006 12:08

Re: Modulares Programmieren
 
Zitat:

Zitat von Robert de Bruce
Also folgende Situation:

Ich habe ein Projekt, an dem 3 bis 5 Leute gleichzeitig basteln sollen. Das Programm soll mehrere Funktionen haben können, aber man muss sie nicht alle installieren. So ähnlich wie bei Plugins. Man soll das Programm also möglichst komfortabel erweitern können, oder die Funktionen wieder abschalten/ deinstallieren. Welche Möglichkeit der modularen Programmierung bietet sich da am besten an? Macht man das einfach mit Units, oder benutzt man DLLs?

Ich unterstelle mal du meinst mit Units, die Funktionalitäten in verschiedene Units zu verteilen (denn auch Dlls können aus mehreren Units bestehen). In diesem Fall werden alle Units in eine Exe gelinkt. Das löst also dein Problem nicht, wenn nicht die unabhängige Entwicklung im Vordergrund steht.
Als Lösung bieten sich Dlls oder Bpls an. Es gibt aber schon fertige Plugin-Systeme, bei deren Verwendung dir Arbeit abgenommen wird.

Zitat:

Wie gesagt: im Vordergrund steht die Bearbeitung des Projekts mit mehreren Menschen, mit Hilfe eines Starteam Servers oder mit Tortoise...

runger 1. Jun 2006 12:13

Re: Modulares Programmieren
 
Hallo,

es kommt doch zunächst einmal darauf an was man verteilen will.
Sollen alle gemeinsam an einer visuellen Oberfläche arbeiten.
Müssen eventuell Menüs verändert werden usw.
Mit DLL zu arbeiten nutzt nur etwas wenn die entsprechenden Anschlusspunkte( ich nenn das mal so) schon da sind.
Wir programmieren Tools zur Bedienung von Rundsteuersendern und bei uns hat das Formularweite entwickeln, also Formulare streng kapseln, jedem Programmierer sein Formular bewährt.
Wenn du willst kannst du gerne weitere Informationen haben.

Rainer

SirThornberry 1. Jun 2006 12:19

Re: Modulares Programmieren
 
In beiden fällen sollte vorher eine Schnittstelle definiert werden. Bei der DLL sind das die Funktionen welche exportiert werden mit den entsprechenden parametern und bei einem Object in einer Extra Unit wäre dies genau so. Man müsste definieren welche Methoden das Object haben muss und welche Parameter diese methoden haben (also eigentlich sollte man den Programmierern dann eine Basisklasse zur Verfügung stellen von der abgeleitet werden muss)

Robert de Bruce 1. Jun 2006 12:26

Re: Modulares Programmieren
 
Also, wenn ich den Durchschnitt der Antworten richtig deute, dann stimmen die Meisten überein, dass man eher mit DLLs arbeiten sollte..

hboy 1. Jun 2006 12:58

Re: Modulares Programmieren
 
man kann aber auch zusammen an dem selben Code arbeiten. Schlagwort hier ist, wenns noch nicht oben genannt wurde Projektplanung und -management. Dafür gibts verschiedene Arbeitsumgebungen, die Eigentümer und Version von Codesegmenten verwalten. Desweiteren muss man vor beginn genau spezifizieren, Nudelcode und workarounds sind tabu.
Verstehst du das modulare Programmieren wie mit DLLs, brauchst du eben ein Konzept, die Module zu handhaben. Ich habe mir ein Hauptprogramm mit Kernfunktionalität und einer DLL-Verwaltung geschrieben, jede einzubindende DLL muss muss gewisse spezifikationen erfüllen ( Export-klausel). Auf diese Weise habe ich auch schon onlinespiel-plugins für den chatclient eines Freundes geschreiben.

Robert de Bruce 1. Jun 2006 13:09

Re: Modulares Programmieren
 
OK, also ich denke, ich hab meine Antworten


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz