Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#34

Re: Grosse Programme "übersichtlich" programmieren

  Alt 6. Nov 2007, 14:09
Zitat von alzaimar:
Einspruch: Das beste Werkzeug verkommt zum Faustkeil, wenn man es nicht richtig anwendet.
Ein Versuch RAD mit vernünftigem Code zu verbinden, war zum Beispiel SWF und WPF in .Net. Aber auch da ist einem der RAD-Teil eher im Weg, und erschwert es zügig eine wartbare anwendung zu bekommen.
RAD im Sinne von Delphis RAD (oder VBs) zielt auf reines Quick & Dirty und du würdest dich wundern wie viele Leute in Delphi 10 Jahre Erfahrung darin haben es falsch zu machen. (btw, JEDER VB'ler hat Jahre Erfahrung darin es furchtbar falsch zu machen)
Zitat von alzaimar:
RAD / Delphi bietet uns mit Datenmodulen doch eine Möglichkeit an, um GUI und Logik zu trennen. Datenmodule sind klassisch gesehen doch nur Datencontainer, um sich das ewige hin- und hertransportieren der Daten zu ersparen. Mit der Delphi-Toolleiste können wir derzeit 'nur' Tabellen, Imagelists etc. dort ablegen, um sie im Code gemeinsam zu nutzen. Nichts hindert uns, weitere Funktionen dort zu hinterlegen.
DatenModule sind furchtbare Biester, die Entwicklern vormachen, sie würden ihre App strukturieren, wobei sie in Wirklichkeit worst-case-Pasta erzeugen...
Datenmodule funzen nur, wenn sie globale Variablen sind, und sie benötigen andere globale Variablen um deren Dingsens benutzen zu können.
OTOH, Delphis Designer machen alle Komponenten öffentlich sichtbar, von Kapselung also absolut keine Spur.

Ich muss dir hier also vehement widersprechen: DataModules sorgen für ein schreckliches Applikations design.
MVC, MVP oder irgendeine andere Form von Mediation zwischen Modell, Logik und Darstellung ist damit komplett für'n Arsch.
Alles was ohne Kapselung von außen geändert werden kann, kann dich nicht darüber informieren. Es ist nicht möglich ein elegantes Design mit solchem RADifiziertem Käse zu produzieren, das auch noch team-fähig ist.
Zitat:
@franktron: Genau so. TDataset-Derivate gehören ins Datenmodul und *nicht* auf die Form. Die Logik der berechneten Felder hat doch im Formular nix zu suchen, oder?
Das ist einer der Fehler, die gerne gemacht werden: Datenkrams auf einem DM macht es in keinster Weise besser wartbar als wenn man es gleich auf ein Form klatscht. Ist beides gleich ungeeignet, wenn man wartbare und partitionierbare Anwendungen bauen will.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat