AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Strukturierung eines Datenbankprogramms
Thema durchsuchen
Ansicht
Themen-Optionen

Strukturierung eines Datenbankprogramms

Ein Thema von sunny-andy · begonnen am 2. Apr 2008 · letzter Beitrag vom 3. Apr 2008
Antwort Antwort
sunny-andy

Registriert seit: 11. Nov 2007
26 Beiträge
 
#1

Strukturierung eines Datenbankprogramms

  Alt 2. Apr 2008, 11:16
Hallo!

Ich stehe vor dem Problem, ein bestehendes Projekt mal richtig zu strukturieren.
Ich habe z.B. eine abstrakte Datenzugriffsschicht, welche ein Auswechseln der DB erlaubt, dann die konkrete Datenbankzugriffsschicht.
Zusätzlich gibt es natürlich das Datenmodell mit allen Objekten, außerdem noch die View mit Forms und Frames.

Ich weiß nicht so recht, wie ich die Verzeichnisstuktur in Delphi strukturieren soll. Ist es vorteilhaft, alle Exceptions in einen bestimmten Ordner zu tun oder jede Exception dorthin zu kopieren, wo sie gebraucht wird?

Und ist es gebräuchlich, die Ordnerstruktur inhaltlich zu unterteilen? Also z.B. Kunden, Vorgänge, Firmen in getrennte Ordner zu verwalten oder doch lieber nach Model, View usw... ?

Ich hoffe, ihr könnt mir ein paar Tipps geben
Gruß,
Andy
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Strukturierung eines Datenbankprogramms

  Alt 2. Apr 2008, 11:38
Du solltest auf jeden Fall, die Units, die nicht auf eine bestimmte Anwendung bezogen sind in einem eigenen Verzeichnis (z.B. C:\Delphi\Lib) halten.
Diese Unit dürfen natürlich keine projektbezogenen Units einbinden!
Mit der Zeit baust du dir so deine eigene Library auf.

Alle projektbezogenen Units zu einem Projekt sollten in einem eigenen Verzeichnis (z.B. C:\Delphi\Firma\ProjektA) liegen.
Ich denke nicht, dass es Sinn macht, diese Units noch weiter in Unterverzeichnissen zu verstreuen, ausser vielleicht bei ganz grossen Projekten.

Ich speichere den ganzen Sourcecode nur auf Platte C:, weil bei Benützung einer Versionverwaltung (z.B. JediVCS) es Probleme gibt, wenn ein Rechner keine Platte D: hat.
Andreas
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#3

Re: Strukturierung eines Datenbankprogramms

  Alt 2. Apr 2008, 11:46
Ehrlich gesagt, die Frage ist mir zu theoretisch. Der Endanwender sieht auch keine "abstrakte Zugriffsschicht", sondern nur das, was ihm auf dem Bildschirm angezeigt wird. Üblicherweise trennt man das Programm von den Daten. Letztere verteilt man aber auch nicht beliebig über die Festplatte. Sieht fast eher nach dateibasiert aus, als dass es sich um eine Datenbank handelt. Angegeben wurde in der Richtung überhaupt nichts.

Dann das hier :
Zitat von sunny-andy:
...oder jede Exception dorthin zu kopieren, wo sie gebraucht wird?
Da sage ich nur : "Never eat Exceptions". Warum soll man die rumkopieren ? Es geht darum, so etwas möglichst schon im Vorfeld auszuschließen und nur unvermeidliche Exceptions abzuhandeln. Du musst viel genauer erklären, um was es geht. Was bspw. ist ein "View mit Forms und Frames" ?
Gruß
Hansa
  Mit Zitat antworten Zitat
sunny-andy

Registriert seit: 11. Nov 2007
26 Beiträge
 
#4

Re: Strukturierung eines Datenbankprogramms

  Alt 2. Apr 2008, 12:01
Hallo,

ich glaube, ich habe mich nicht deutlich genug ausgedrückt.


Zitat:
Ich denke nicht, dass es Sinn macht, diese Units noch weiter in Unterverzeichnissen zu verstreuen, ausser vielleicht bei ganz grossen Projekten.
Also das Projekt hat mittlerweile einen Umfang von genau 188 Units. Ich würde die schon gern vernünftig stukturieren.


Zitat:
Der Endanwender sieht auch keine "abstrakte Zugriffsschicht", sondern nur das, was ihm auf dem Bildschirm angezeigt wird.
Vielleicht habe ich das nicht deutlich zum Ausdruck gebracht, ich meine die Strukturierung der Quelltextdateien. Nicht die Ordnerstruktur, die dem Kunden geliefert wird.

Zitat:
..oder jede Exception dorthin zu kopieren, wo sie gebraucht wird?
Damit meine ich folgendes: Wo in der Projektstruktur gehören meine selbst erstellten Exception-Units hin?

Zitat:
Was bspw. ist ein "View mit Forms und Frames" ?
Die View aus dem MVC-Konzept. Struktiert man die Units des Projektes nach Model, View, Controller oder nach inhaltlichen Gesichtspunkten?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Strukturierung eines Datenbankprogramms

  Alt 2. Apr 2008, 12:21
Also gut, habe mal bei mir genauer geguckt. Jedes Projekt hat zuerst mal seinen eigenen Ordner. Bei 2 Fällen sind das 171, bzw. 402 PAS-Dateien (teilweise recht große). ALLERDINGS ! Hinzu kommt ein gemeinsamer Ordner mit 205 PAS. Ich sehe da keinen Sinn, das noch weiter zu zersplitten. Die Datenbank liegt unterhalb der jeweiligen EXE im Ordner DB. Die Speicherorte sind allerdings per INI einstellbar. Tja, das wars.
Gruß
Hansa
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: Strukturierung eines Datenbankprogramms

  Alt 2. Apr 2008, 13:26
Ich definiere die Exceptions in der Unit, in der auch die Klasse definiert ist, die diese Exception schmeisst.

Zur Ordnerstruktur:
Ich verwende pro Projekt einen eigenen Ordner (und natürlich irgendwo meine Libary(
Dort steht mindestens:
ein Unterordner 'App', der enthält die Kompilate
ein Unterordner 'Shared', der enhält die gemeinsamen units
ein Unterordner 'Docs', der enhält Dokumentationen, Vorgaben etc.

Dann besteht so ein Projekt ja aus Subsystemen, die all irgendwelche Teilaufgaben bewerkstelligen und unabhängig voneinander arbeiten. Die projektbezogenen, subsystemübergreifenden Units packe ich in einen eigenen 'Shared' Ordner.

Somit sieht mein Projektverzeichnis so aus:
  • Projects/Company/ProjectA/App
  • Projects/Company/ProjectA/Docs
  • Projects/Company/ProjectA/Shared
  • Projects/Company/ProjectA/Subsystem_1
  • ...
  • Projects/Company/ProjectA/Subsystem_n
Jedes Subsystem bekommt einen Prefix aus 2 Buchstaben (Kundenmodul z.B. 'Kd'). Alle Units dieses Subsystems heißen 'KdXXXXXX.PAS'.

Wenn man, wie Hansa, keinen Bock hat, die Subsysteme in einzelne Verzeichnisse zu packen, dann eben nicht. Das ist letztendlich Geschmackssache. Und wenn jedes Subsystem nur aus 2 Units besteht, spare ich mir das auch noch.

Meine Projekte bestehen jedoch i.A. aus 5-20 einzelnen Tools, sodaß hier die Subsysteme durch einzelne Tool-Unterverzeichnisse ersetzt werden.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Strukturierung eines Datenbankprogramms

  Alt 2. Apr 2008, 20:44
Zitat von alzaimar:
Wenn man, wie Hansa, keinen Bock hat, die Subsysteme in einzelne Verzeichnisse zu packen, dann eben nicht...
Ich wäre nicht zu faul dazu, aber nur, wenn es denn tatsächlich Sinn macht. Aber das wird jetzt sowieso zu speziell. Hätte ich diverse Projekte, die aber auch gar nichts miteinander zu tun haben, dann sähe es wohl anders aus. Es gibt für individuelle Anpassungen ja auch noch anderes als schlichte Ordner. Z.B. IFDEF. Dann hat man eine Codebasis und kann sie mit entsprechenden Programmen auch anpassen. Dass jeder geänderte Buchstabe auch regelmäßig gesichert werden muss, das versteht sich IMHO von alleine. Gilt übrigens auch für Kommentare !
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Chemiker
Chemiker

Registriert seit: 14. Aug 2005
1.859 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Strukturierung eines Datenbankprogramms

  Alt 3. Apr 2008, 20:09
Hallo,

ich finde das Thema ganz interessant!

@Hansa: Wie behältst man den Überblick bei 402 pas – Dateien? Ich habe jetzt nicht die pas – Dateien gezählt, aber es sind mit Sicherheit weniger. Ich versuche schon seit jahrzehnten da eine Vernünftige Struktur reinzubekommen, aber nach den letzten Festplatten – Crash hatte ich 4Tage damit verbracht das aktuelle Projekt einigermaßen wieder herzustellen. Also ist meine Struktur immer noch nicht optimal.
@alzaimar: So ähnlich habe ich auch meine Ordnerstruktur. Nur wie geht man da vor, wenn man an mehre Rechner arbeitet (z.B.: Win 2000, XP) und mit mehreren Delphi – Versionen.

Bis bald Chemiker
wer gesund ist hat 1000 wünsche wer krank ist nur einen.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: Strukturierung eines Datenbankprogramms

  Alt 3. Apr 2008, 23:17
Zitat von Chemiker:
...ich finde das Thema ganz interessant!

@Hansa: Wie behältst man den Überblick bei 402 pas – Dateien? ...
Hat mich selber gewundert. Aber nur wegen Objektablage. Ich leite die Forms vom Vorgänger ab. Das ergibt schon eine gewisse Anzahl an Forms. Die können schon überdiemsioniert sein, sofern alles mehrfach deklariert wird. Mache ich aber nicht ! Die bauen aufeinander auf.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:26 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