Forum: Algorithmen, Datenstrukturen und Klassendesign
by alda,
4. Jun 2014
Das mit dem zu "Aufwendig und neumodisch" war bei uns auch anfangs so. Was dieses Thema angeht kann ich Dir/Euch nur Uncle Bob ans Herz legen: http://cleancoders.com/
Denn Test-Driven Development ist alles andere, als aufwendig ;>
Naja also erst einmal kannst Du das nur, wenn alles was zu testen ist (also alles :P) auch vom Basis-Vorfahren implementiert wird. Das bedeutet wiederum, dass Du...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by alda,
4. Jun 2014
Wie gesagt, man kann nicht pauschal sagen, dass es gut oder schlecht ist. Das bestätigst Du ja mit Deiner Aussage :P Genau so kannst Du nicht sagen, dass es gut ist weil die Delphi-Entwickler es so machen, das ist doch kein Argument. Es geht doch darum wann etwas sinnvoll ist und wann nicht und nicht *wer* es implementiert hat. Nur weil die z.B. (achtung, Behauptung! :P) Delphi-Entwickler nicht...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by alda,
3. Jun 2014
Klar, Ausnahmen bestätigen die Regel. Worauf ich hinaus will ist, dass man eben nicht sagen kann, dass es pauschal "überflüssig" ist, sofern man den Verwendungszweck nicht kennt.
Die Frage die der TE stellte, war:
"Aber was spricht denn gegen property Name: String read FName write FName; ?"
Und mein geschilderter Anwendungsfall wäre somit ein Punkt, der m.E. dagegen spricht :>
Forum: Algorithmen, Datenstrukturen und Klassendesign
by alda,
3. Jun 2014
Merci, das kannte ich nicht.
Wie gesagt, wer definiert was überflüssig ist. Da ich ausschließlich über Interfaces arbeite, habe ich auch immer (wie Ihr Sie nennt, "leere") Getter und Setter und keine Variablennamen in den Properties. Sollte ich in irgendeinem Fall was ohne Interfaces hinklatschen, verwende ich es in seltenen Fällen auch über die Angabe einer Variablen. Hätte auch nicht...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by alda,
3. Jun 2014
Gute Frage, das gehört für mich einfach mit zum objektorientierten Design (genau wie die Verwendung von Interfaces an dieser Stelle, die den Zugriff (z.b. dieser Property) nach außen reglementieren). Da haben ich wohl einfach eine andere Vorgehensweise :P
Nach der Argumentation könnte man doch theoretisch auch fragen wofür man überhaupt Klassen und Klassenmethoden verwendet, anstatt diese...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by alda,
3. Jun 2014
Das ist korrekt. Dennoch ist es nichts anderes als das direkte (über read/write) veröffentlichen dieser Variable, was ich persönlich , wie erwähnt, unsauber finde.
Nun, die Methoden machen etwas: Sie Setzen (Set..) und Lesen (Get..) Informationen einer Klasse ;-) Oder worauf willst Du hinaus? Ich finde man sollte immer schauen, was im Rahmen des vertretbaren liegt um sauberen und...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by alda,
3. Jun 2014
Wenn ich noch etwas hinzufügen darf:
Properties mit direkten Lese- und/oder Schreibzugriff auf Variablen sind meines Erachtens unsauber und "starr" (natürlich gibt es wirklich Ausnahmen, bei denen es sich für uns Delphi-Entwickler vielleicht wirklich nicht lohnt extra Getter/Setter anzulegen). Aber letztendlich entspricht das der Veröffentlichung einer Variable (also "public FVariable: Integer"...