AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Datenmodell automatisch erzeugen

Ein Thema von FAM · begonnen am 9. Feb 2015 · letzter Beitrag vom 10. Feb 2015
Antwort Antwort
FAM

Registriert seit: 22. Dez 2014
47 Beiträge
 
Delphi XE Enterprise
 
#1

AW: Datenmodell automatisch erzeugen

  Alt 9. Feb 2015, 14:44
Besser wäre m.E. einen Klassenexperten zu nutzen, der Dir auf möglichst komfortable Weise Businessklassen und Objekte erzeugt (incl. Speichern und Laden von Daten) und dann einen Weg zu suchen, wie Du die Daten einfach und stabil an die GUI binden kannst.

danke für deine Antwort.
kannst du ein wenig mehr über den Klassenexperten sagen?!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.875 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Datenmodell automatisch erzeugen

  Alt 9. Feb 2015, 14:46
Ich vermute er meint grafische Tools für ORM
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Datenmodell automatisch erzeugen

  Alt 9. Feb 2015, 15:20
Genau.
Da haben sich offenbar viele eine Lösung gebaut (ich ja auch mal).

Man gibt dann z.B. einfach die Klassenstruktur an:

Person
- Firstname: String
- LastName: String

Car
- Color: TColor
- Nr: String

Auf Knopfdruck werden dann die Units mit den Klassen erzeugt, die man dann in Delphi kompilieren kann. Der ganze Schreibkram der immer gleichen Funktionalitäten (speichern und laden von Daten und Datenaustausch mit anderen Ebenen) wird dann halt automatisch fertiggestellt. Ergänzen muss man dann nur noch die Businesslogik.

Jedenfalls würde man mit dem Ansatz wirklich das Model definieren (als wenn man die Klassen von Hand schreiben würde, nur dass halt vieles automatisiert wird).

Die GUI kann (und muss) dann unabhängig aufgebaut werden. Natürlich wäre es hilfreich, wenn man dann ein brauchbares Databinding zur Verfügung hätte, das einem wieder Arbeit abnimmt.

Ein MVVM wäre eine weitere Option.


Von einer gebastelten GUI ein Datenmodel ableiten zu wollen, halte ich für keinen guten Ansatz.
Eigentlich sind das wesentlich ja die Daten und BL.
Die GUI ist (lediglich) ein Hilfsmittel, damit der User irgendwie einen Zugang erhalten kann.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
FAM

Registriert seit: 22. Dez 2014
47 Beiträge
 
Delphi XE Enterprise
 
#4

AW: Datenmodell automatisch erzeugen

  Alt 10. Feb 2015, 08:32
Genau.
Da haben sich offenbar viele eine Lösung gebaut (ich ja auch mal).

Man gibt dann z.B. einfach die Klassenstruktur an:

Person
- Firstname: String
- LastName: String

Car
- Color: TColor
- Nr: String

Auf Knopfdruck werden dann die Units mit den Klassen erzeugt, die man dann in Delphi kompilieren kann. Der ganze Schreibkram der immer gleichen Funktionalitäten (speichern und laden von Daten und Datenaustausch mit anderen Ebenen) wird dann halt automatisch fertiggestellt. Ergänzen muss man dann nur noch die Businesslogik.
gibt es irgendwo einen Artikel dazu, wie das konkret umzusetzen ist? Wenn ich dich richtig verstehe wird dann einmal initial die Setter und Getter generiert, dann müssten diese kompilierten Units in meinem Source eingebunden / angebunden werden ...

oder ?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Datenmodell automatisch erzeugen

  Alt 10. Feb 2015, 09:02
Ähm, du weißt doch wie eine Klasse im Delphi-Code aussehen muss?

Jetzt schreibt man sich einen Code-Generator, der aus ein paar Vorgaben diese Klassen komplett erzeugt.

Du gibst vor
Code:
{"name":"TFoo",
[{"Name":"Name","type":"string","GetterSetterKind":"GS"}]}
und das Programme baut daraus
Delphi-Quellcode:
type
  TFoo = class
  private
    FName : string;
    function GetName : string;
    procedure SetName( const Value : string );
  public
    property Name : string read GetName write SetName;
  end;

procedure TFoo.SetName( const Value : string );
begin
  FName := Value;
end;

function GetName : string;
begin
  Result := FName;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#6

AW: Datenmodell automatisch erzeugen

  Alt 10. Feb 2015, 09:34
Jetzt schreibt man sich einen Code-Generator, der aus ein paar Vorgaben diese Klassen komplett erzeugt.
Das macht Delphi nicht automatisch, sondern Du musst selbst tätig werden. Daher liegt es auch an Dir, wo die Dateien gespeichert werden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Datenmodell automatisch erzeugen

  Alt 10. Feb 2015, 10:11
@FAM

Eine .pas Datei ist eine einfache stumpfe Textdatei. Schreibe ein Programm, dass eine Textdatei erzeugt. Wenn diese Textdatei jetzt zufälligerweise den Vorgaben für eine Delphi-Unit entspricht, dann hast du - Simsalabim - eine Delphi-Unit erzeugt.

Kann das Programm jetzt auch noch diese ominöse Textdatei nach Vorgaben, die es irgendwo irgendwie herbekommt, was in einem beliebigen Format sein kann, was eben dieses Programm versteht, dann hat man ein Delphi-Unit-Generator geschrieben.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Datenmodell automatisch erzeugen

  Alt 10. Feb 2015, 09:04
Wie ich das umgesetzt habe kannst Du hier sehen: http://www.delphipraxis.net/173360-s...framework.html (Beitrag #17)

Einen Artikel dazu kenne ich nicht.
Ich dachte mir einfach, wenn ich immer das selbe schreiben muss (ClassX.pas) dann kann ich mir auch die Textdatei erzeugen lassen.
Entsprechend muss man die genauen Klassen- und Eigenschaftendeklarationen irgendwo kompakt ablegen, so dass die gewünschten Klassen heraus kommen.

Entspricht quasi einfach einer komplexen "Serienbrieffunktion".

Delphi bietet dann sogar noch die Möglichkeit, die Units gleich in ein Package einzubinden und das zu kompilieren. Jedenfalls funktionierte das bei mir schon mal einigermaßen zufriedenstellend. Ich habe das dann aber nicht mehr weiter verfolgt.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
FAM

Registriert seit: 22. Dez 2014
47 Beiträge
 
Delphi XE Enterprise
 
#9

AW: Datenmodell automatisch erzeugen

  Alt 10. Feb 2015, 09:18
Wie ich das umgesetzt habe kannst Du hier sehen: http://www.delphipraxis.net/173360-s...framework.html (Beitrag #17)
ich schau es mir mal an, danke

Delphi-Quellcode:
{"name":"TFoo",
[{"Name":"Name","type":"string","GetterSetterKind":"GS"}
]}
Ich wusste jetzt nicht das Delphi auch Code generieren kann bzw. habe das bisher noch nicht in betracht gezogen gehabt. Werden dann die entsprechenden Dateien auch gleich richtig gespeichert und abgelegt?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.659 Beiträge
 
Delphi 12 Athens
 
#10

AW: Datenmodell automatisch erzeugen

  Alt 10. Feb 2015, 09:20
Das hängt ja davon ab, wie Du den angesprochenen Code-Generator umsetzt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 05:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz