-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
16. Feb 2012
Daran hab ich auch gedacht :stupid:
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
16. Feb 2012
Wenn du generelles Interesse zeigst, dann nehm ich meine Aussage dichbezüglich wieder zurück - bisher hatte ich eher den Eindruck, als ob dich die ganze Thematik eher weniger kratzt ;)
Ob Religion oder Psycho-Quatsch - kann sein, manchen hilfts. Ich trag aber auch keine bunten Armbändchen :stupid:
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
16. Feb 2012
Wieder ein Bestätigung, warum Delphi Entwickler des öfteren mit einem müden Lächeln und einem "das gibt's noch?" abgetan werden.
P.S.: Ob du dir Armbändchen anziehst oder nicht, oder, wenn du Judo oder Karate machst, nen Gürtel umbindest, steht dir frei. Und auch, ob du dazulernen willst, oder nicht.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
14. Feb 2012
Und genau hier trennen sich unsere Ansichten. Wo befinde ich mich denn bei dieser Codezeile?
if fuhrpark.eingeteiltesfahrzeug.motor.kraftoffart = diesel then einkaufsabteilung.dieselbestellen;
Sie hat Kenntnis von Fuhrpark, Fahrzeug und Motor (durch den Zugriff auf die Properties) und greift somit 3 Ebenen tief in die Struktur. Desweiteren ist sie auf eine Kraftstoffart festgeschrieben. Für...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
14. Feb 2012
Und auch in diesem Fall würde der "intelligente Kühlschrank" nur eine Warenliste übermitteln und nicht selber in den Supermarkt rollen oder?
Und auch eine Einzugsermächtigung übergibt nur die benötigten Daten und nicht deine Kreditkarte inklusive Pinnummer, damit der Gegenüber selber das Geld abheben kann.
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
13. Feb 2012
In dem Codeschnipsel ging es um das bestellen von Treibstoff. Was hat das Bestellen von Treibstoff mit der Kenntnis des Fuhrparks und deren Motoren zu tun? Richtig, nix.
Das zuständige Personal bekommt mitgeteilt, was gebraucht wird und kümmert sich um alles weitere. Ob die dann Rabatte aushandeln, Buchhaltung pflegen etc pp braucht nicht mehr zu interessieren. Wichtig ist: genau die Daten,...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
13. Feb 2012
Der Post trifft den Nagel so sehr auf den Kopf, dass ich ihn nochmal betonen möchte. Die Lösung sorgt nicht nur dafür, dass das LoD eingehalten wird. Sie ist auch so flexibel, dass es dem Interface (in diesem Fall den beiden genannten Methoden) egal ist, wie es intern aus sieht (ob nun Diesel oder Hafer bestellt wird) und sie kann noch für andere Zwecke gebraucht werden (der aktuelle Bedarf kann...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
10. Feb 2012
Ich schon. Was hat ein Spiel mit den Platzierungen zu tun? Ich werf nochmal so einen Begriff in den Raum: Single Responsibility Prinzip. Lösung für das Konkrete Problem: Observer (aka Events)
Klares kommt drauf an. Aber es geschieht oft, dass die Businesslogik in diesen Klassen fehl am Platz sind und man damit zwangsläufig wieder irgendwelche Prinzipien (z.B. LoD oder SRP) verletzt. In...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
10. Feb 2012
Dieses Owner Verketten verletzt ganz klar das Gesetz von Demeter. Dein Beispiel zeigt für mich ein gravierendes Designproblem. Sofern der angesprochene Code innerhalb einer TSpiel Klasse ist und diese implizit eine Abhängigkeit auf ein TTurnier hat, dann solltest du das auch dementsprechendüber eine TTurnier Eigenschaft in deiner TSpiel Klasse implementieren und nicht auf Implementierungsdetails...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
10. Feb 2012
Da muss ich dir ausnahmsweise mal widersprechen. Es kommt darauf an, wie weit ich den RAD-Ansatz gehe. Ich sehe es bei uns in der Software, dass ich manchmal einen Frame aufmache und mich eine graue gähnende Leere anschaut und ich erst im Source rumwühlen muss, um zu sehen, wo welche Komponenten erzeugt und platziert werden. Das ist für mich persönlich der Horror. Wo man dann die Businesslogik...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
9. Feb 2012
Du arbeitest allein an deinem Sourcecode. Stell dir vor, es gibt ein Team von Entwicklern und es gibt bestimmte Spezifikationen für die unterschiedlichen Module und Klassen. Baut sich nun jeder Entwickler seine Button1 Projekte, um zu testen, ob die Klassen und Methoden das machen, was sie sollen? Ob nun TDD betrieben wird, oder erst drauflos gecodet wird und hinterher der Unittest geschrieben...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by Stevie,
2. Feb 2012
Ich kann in diesem Bezug nur auf dieses Dokument von Miško Hevery verweisen. Dort wird anhand von simplen Beispielen (zwar in Java aber sollte kein Problem sein) erklärt, wie man bestimmte Dinge in seinem Code vermeidet (allem voran das Erstellen von neuen Objekten - simple Dinge wie z.B. Listen außen vor) und dadurch einfach zu wartenden und testbaren Code erstellt. Auch die in dem Dokument...