Einzelnen Beitrag anzeigen

hschmid67

Registriert seit: 2. Jul 2012
Ort: Weilheim i. Obb.
62 Beiträge
 
Delphi 10.4 Sydney
 
#1

Funktionsbibliotheken, Code-Organisation - Wie macht Ihr das?

  Alt 4. Jan 2017, 07:51
Liebe Delphi-Gemeinde,

seit Jahren habe ich in einer Unit Funktionen gesammelt, die ich immer mal wieder brauche; selbstgeschriebene und irgendwo als Snippet kopierte. Das geht von einfachen Stringmanipulationen über RegEx bis hin zu DB-Funktionen und einfachen Netz- und Betriebssystemfunktionen. Also alles bunt durcheinander. Der große Vorteil: ein einfaches Einbinden der "mytools.pas" in die uses-Klausel genügte, um immer alles parat zu haben.

Doch die Nachteile werden immer größer: Die Unit wird immer größer und unübersichtlicher, die Exe-Dateien werde sehr groß (spielt zwar heute selten wirklich eine Rolle) und man braucht, wenn man mit Packages arbeitet, immer viele andere Packages, die eingebunden werden müssen. Das sind keine großen Probleme, aber "schön" ist das auch nicht

Also überlege ich, wie ich meine Funktionen besser organisieren kann, ohne mir zu viele Nachteile aufzuladen. Wie habt Ihr das bei Euch gelöst? Was sind Eure Überlegungen? Welche "best practices" habt Ihr gefunden? Ich würde bei einer Neuorganisation gerne das "fluent interface" an manchen Stellen nutzen (das gefällt mir z.B. in jQuery ganz gut).

1. Man könnte also die bisherigen Funktionen (meist wirklich einfache procedure/function-Aufrufe) in verschiedene Units aufteilen, nach Themengebieten geordnet: String, Convert, DB, Net... - fluent ist dann zwar nicht, aber es wird übersichtlicher.

2. Packe ich alle einzelnen Funktionen in Klassen und rufe sie dann als class procedures auf? Für ein fluent interface bräuchte ich dann wohl class var...

3. Oder sind - einen Schritt weiter - Interfaces zu solchen Klassen die bessere Wahl, da ich mich nicht um die Freigabe kümmern müsste?

4. Hier würden auch Records in Frage kommen. Was wäre der Vor- und Nachteil? Lässt sich hier ein fluent interface ohne Probleme verwirklichen?

Tja, manche Idee schwirrt in meinem Kopf herum. Und ich weiß nicht so recht, was weshalb besser ist. So würden mich also Eure Erfahrungen interessieren. Wie organisiert Ihr eure Funktionsbibliotheken? Alles in einer unit? Viele units mit vielen Klassen/Interfaces/Records? In welchem Fall ggf. welches Pattern/Modell? Und wie behaltet Ihr den Überblick?

Herzliche Grüße mit den besten Wünschen noch zum Neuen Jahr
Harald
Harald Schmid
  Mit Zitat antworten Zitat