AGB  ·  Datenschutz  ·  Impressum  







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

Code Design

Ein Thema von manfred_h · begonnen am 13. Feb 2006 · letzter Beitrag vom 13. Feb 2006
Antwort Antwort
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#1

Code Design

  Alt 13. Feb 2006, 13:43
Hallo zusammen

habe hier eine hoffentlich nicht zu triviale Frage:

Bei einer DB-Anwedung die ich als SDI erstellt habe befinden sich 10x PageControl im Haubtfenster
plus 3 "Child" PageControl.
Ist das "Designmäig" ok das der Code für alle Tabs in dem selben Form landet?
Würdet ihr das irgendwie auslagern? Jeder Tab lädt den code von 123.pas oder so? Geht das?

Bin für Eure Ideen dankbar.

Manfred
  Mit Zitat antworten Zitat
Sebastian R.

Registriert seit: 12. Feb 2006
94 Beiträge
 
#2

Re: Code Design

  Alt 13. Feb 2006, 13:47
Möglich ist das schon, und "design-mäßig" musst du das selbst entscheiden. Wir sehen nachher nur dein Programm nicht deine tausend Seiten Quelltext!

Wenn du selbst damit klarkommst, sprich wenn dich das nicht aus dem Konzept wirft, dann kanns du das ruhig machen. Kein Problem!

MfG, Sebastian R.
Sebastian R.
Keep on programming!


CyCode.net - Meine Programme, Tutorials und Quelltexte
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#3

Re: Code Design

  Alt 13. Feb 2006, 13:49
Wow diese Anwort kam aber echt schnellllll...

besten dank für deine Antwort.

Manfred
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#4

Re: Code Design

  Alt 13. Feb 2006, 14:20
Das ist ungeschickt.

Normalerweise sollte man immer versuchen, Code und Oberfläche voneinander zu trennen.

Stell Dir mal vor, Du musst irgendwann in ein, zwei Jahren deine Anwendung von SDI auf Web umstellen und musst dann den Code von Deinem einem Form auf zig Webseiten verteilen. Mit Code in einem einzigen Form würde ich da hergehen, das komplett wegwerfen und neu anfangen... das geht in der Regel schneller.

Wenn Du Deinen Code aufteilst und in verschiedene Klassen packst, die jeweils in einer eigenen Datei liegen kannst Du das wiederverwenden. Zu jeder Arbeits-Klasse (mit der Programmlogik) gehört dann noch eine Oberflächen-Klasse, die nur den In- und Output vom Formular in die Arbeitsklasse und zurück übernimmt - mit wohldefinierten Schnittstellen dazwischen. So kannst Du hinterher nämlich einfach hergehen und auch mal die Tabseite in ein eigenes Form (oder auf eine Webseite) legen und die Arbeitsklasse hintendran brauchst Du nicht mal ansatzweise anzufassen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#5

Re: Code Design

  Alt 13. Feb 2006, 14:56
Zitat von Phoenix:
Wenn Du Deinen Code aufteilst und in verschiedene Klassen packst, die jeweils in einer eigenen Datei liegen kannst Du das wiederverwenden. Zu jeder Arbeits-Klasse (mit der Programmlogik) gehört dann noch eine Oberflächen-Klasse, die nur den In- und Output vom Formular in die Arbeitsklasse und zurück übernimmt - mit wohldefinierten Schnittstellen dazwischen. So kannst Du hinterher nämlich einfach hergehen und auch mal die Tabseite in ein eigenes Form (oder auf eine Webseite) legen und die Arbeitsklasse hintendran brauchst Du nicht mal ansatzweise anzufassen.
Hallo Phoenix

das hört sich interessant an. Kennst Du ein Tutorial indem das ein wenig erleutet wird?
Ich hab mir vorhin einmal die Delphidemo (Marine Adventures) angeschaut.
Dis ist mit einem Master Forumlar und ein paar Childs gelöst.

Das sieht auch mit dem Source logisch aus.
Was ich jetzt nicht weiss ist wie kann ich in >einem< Formular den Code in verschiedene Dateien Auslagern?

Manfred
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#6

Re: Code Design

  Alt 13. Feb 2006, 15:19
Hi.

Als ein Tutorial gibts da meines Wissens nach nicht. Aber eine Anwendung sollte eben in mehreren Schichten arbeiten:

Buisiness-Logik <--> Abstraktionsschicht <--> Oberfläche

Und das Auslagern von Code... ich würde das eben nicht klassisch auslagern (wie in einer Include-Datei) sondern das ganz normal lösen: Du machst einfach eine neue Datei mit den entsprechenden Klassen drin und bindest die in der Uses-Klausel ein. That's it.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
manfred_h

Registriert seit: 4. Nov 2005
Ort: Basel
442 Beiträge
 
Delphi XE2 Enterprise
 
#7

Re: Code Design

  Alt 13. Feb 2006, 15:23
Danke Sebastian R.

für deine Tipps und Zeit

mit freundlichen Grüssen
Manfred
  Mit Zitat antworten Zitat
sir-archimedes

Registriert seit: 2. Jan 2006
Ort: Münster
167 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Code Design

  Alt 13. Feb 2006, 16:52
Dazu hätte ich auch noch eine Frage/etwas zu sagen: Viele (kommerzielle) Anwendungen sind ja - ganz böse ausgedrückt - nicht viel mehr, als "Datenbankfrontends". Hier verwendet man in der Regel die datensensitiven Controls, die Delphi mitbringt, Datenbankverbindungsobjekte und verknüpft das miteinander. Häufig ist hier so viel Logik gar nicht enthalten. Da fällt es meiner Meinung nach schwer, wirklich sauber die Schichten zu trennen. Zumindest mit Delphi.

Oder wie würde das wirklich sauber aussehen? Ich bräuchte quasi eine Schnittstelle, die mir die Objekte transparent in "Queryzeilen" umwandelt und zurück - also mehr oder weniger so etwas, wie ein "Objekt-Persistenz-Framework".
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#9

Re: Code Design

  Alt 13. Feb 2006, 17:20
Jo, da gibt es ja z.B. ECO. Viele Firmen haben da schon Eigenentwicklungen oder man greift zu kommerziellen Frameworks die soetwas für Dich machen - die kosten dann aber auch ein paar Tausend Euro

Wenn es wirklich 'nur' um ein Frontend geht brauchst Du die Aufteilung nicht.
In anderen Fällenwürde ich für den 'kleinen Hausgebrauch' die datensensitive Logik in eine von TTable abgeleitete Klasse packen und nötige Transformationen hier ablegen. Diese TTable hängst Du dann an Dein Form und lässt die arbeiten. Geht schnell und auch hier hast Du Daten- von Oberfläche getrennt.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  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 10:32 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