AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Wo gehören die Variablen hin?

Ein Thema von Bjoerk · begonnen am 10. Mär 2012 · letzter Beitrag vom 11. Mär 2012
Antwort Antwort
Seite 2 von 2     12
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Wo gehören die Variablen hin?

  Alt 11. Mär 2012, 11:05
Die Frage ist doch nicht die, wo die Variablen hingehören, sondern eher die, wo die Funktionalität hingehört. Dann ergibt sich der Rest von ganz alleine.
Das ist mal Antwort, mit der ich was anfangen kann. Danke dafür.

Was mir heute nach aber nochmal klar geworden ist, daß es bei mir weniger ein Frage von prozedural vs. OO ist, sondern die ganzen Kopplungen. Aus einer procedure eine Methode zu machen ist m.E. noch lange nicht objektorientiert. Meine ganzen globalen Variablen waren ja auch prozedural schon schlechter Programmierstil. Ich hab jetzt eine eigene Datenklasse, die jede Klasse unter private dazu komponiert bekommt.

Und, wenn ich manchmal bei prozedural bleibe, bei machen Projekten spricht einiges dafür, könnte das sogar ein Record mit einer LoadFromDatenBasis sein, gab‘s früher leider noch nicht, der Code ist teilweise noch mit Delphi 1 bzw. unter DOS Turbopascal 7 geschrieben, doch auch damals war beispielsweise ein Gauss Algorithmus schon dasselbe wie heute.

Gruß und schönen Sonntag
Thomas
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#12

AW: Wo gehören die Variablen hin?

  Alt 11. Mär 2012, 13:02
Ich hab jetzt eine eigene Datenklasse, die jede Klasse unter private dazu komponiert bekommt.
Nee. Das verstößt gegen diverse Regeln. So ist diese Datenklasse für alle anderen Klassen zuständig und muss auch von ihnen wissen. Wozu? Kommt eine Klasse dazu, muss die Datenklasse mit geändert werden. Warum?

Eine Klasse ist ein Container für eine Funktionalität. "Daten vorhalten" ist keine Funktionalität, sondern eine Ausrede .

Wenn Du es richtig richtig machen willst, skizziere die Funktion(alität)en, Interaktionen und Abhängigkeiten in dem Programm. Dann hast Du eigenntlich schon eine grobe Klassenstruktur. In jeder Klasse, die immer noch ziemlich viel Codebeinhaltet, machst Du das Gleiche. Du kommst zu Klassen, deren Sinn Du in 1-2 Sätzen erklären kannst. Die Methoden werden dann so lange verfeinert (=refaktorisiert), bis jede Methode ohne das Wort "und" beschrieben werden kann, d.h. sie macht dann genau eine Sache.

Klassen mit ähnlicher Funktionalität (Laden und speichern z.B.) lassen sich zu Klassenfamilien zusammenfassen. Die Gemeinsamkeiten kommen in eine Basisklasse, die Besonderheiten in die einzelnen Ableitungen. Doch Vorsicht: Auch hier gilt: Nicht alles, was so komponiert wird, ist gutes OOP.

Gutes OOP ist wie gutes Essen. Es schmeckt, aber wie man es hinbekommt, ist eine Kunst. Und Kunst fällt nicht vom Himmel (außer vielleicht bei Beuys, der eine Badewanne unter einen vom Himmel fallenden Butterklumpen stellt) sondern muss gelernt werden.

Fang einfach an und lies Bücher darüber.
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Wo gehören die Variablen hin?

  Alt 11. Mär 2012, 14:26
Mir schwant, mein Softwareprodukt ist mir über den Kopf gewachsen.

Die Struktur der einzelnen Programme ist so. Jetzt wollte ich aus A bis G Datenklassen machen (siehe unten).

Delphi-Quellcode:
Lies die Daten die der Benutzer eingegeben hat (Output = A)

Ergänze die Daten durch weitere umfangreiche Daten (Input A, Output B)

Mach daraus ein Statisches System (Input A+B, Output C)

Berechne N mal das System (Input A+B+C, Output D)

Ermittele aus den N Berechnungen maßgebende Bemessungskombinationen K (Input A+B+C+D, sehr umfangreicher Output E)

Bemesse das System für diese Kombinationen (Input A+B+C+D+E, Output F)

Zeige in Tabellenform alle Daten und Ergebnisse und stelle diese grafisch dar (Input A+B+C+D+E+F, Output G = Result)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf