Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Welche Pattern oder Regeln sollte man als Basic’s kennen? (https://www.delphipraxis.net/211452-welche-pattern-oder-regeln-sollte-man-als-basic%92s-kennen.html)

juergen 18. Sep 2022 12:21

Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Hallo,
zunehmend habe ich das Problem, dass ich in meinen Hobby-Projekten als Hobby-Programmierer keine oder wenig Praxiserfahrung habe aus dem jeweiligen Bereich.
Das führt dazu, dass es aufwendig wird, wenn ein Kunde dann Erweiterungen haben möchte.

Z.B. wende ich seit längerer Zeit Test-Cases an. Das ist schon mal sehr hilfreich, auch wenn der Aufwand manchmal schon größer ist.
Da hatte ich gestern gelesen, dass man bei den Tests das Triple A Pattern anwenden sollte. In meinen bisherigen Projekten hatte ich das schon (unbewusst) genauso umgesetzt.

Konkrete Frage:
Welche Basic(!) Pattern oder Regeln sollte man kennen um seine Software besser warten und erweitern zu können?
Gibt es dafür bekannte Strategien? Mir reichen die Schlagwörter, dann kann ich mich informieren. Auch (deutsche) Buch-Empfehlungen wären interessant.

Vielen Dank für das Teilen eurer Erfahrung! :dp:

mytbo 18. Sep 2022 20:11

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Zu meinen persönlichen Favoriten gehören: Mediator, Observer und Visitor. Beispiele für den Einsatz des Mediators findet man in meiner mORMot Vorstellungsreihe.

Meine Literaturquellen:
  • Das Original Design Patterns von 1994 der Gang of Four (GoF). Wenn ich mich recht erinnere, war das Buch zeitweise als freier Download im O'Reilly Verlag verfügbar. Sprache ist Englisch. Beispiele sind nicht in Delphi.
  • Max Kleiner, Patterns konkret: Patterns in modellgetriebenen Projekten durchgängig anwenden. Veröffentlichungsdatum 2003.
  • Ein aktuelles Buch ist vom Delphi Geek Primož Gabrijelčič, Hands-On Design Patterns with Delphi.
Design Patterns gehören zum Grundlagenwissen. Mit Sicherheit hast du verschiedene Muster schon unbewusst eingesetzt. Ihr gezielter Einsatz in der Praxis bedarf jedoch einiger Übung. Es ist wie beim Fahrradfahren: Erst wenn dir die Erklärung schwerfällt, hast du es ausreichend verinnerlicht.:wink:

Bis bald...
Thomas

philipp.hofmann 18. Sep 2022 22:02

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Singleton ist extrem einfach und sollte auch bekannt sein; v.a. auch, wie man es in der jeweiligen Programmiersprache wirklich anwendet; da kann es Feinheiten geben (abhängig wie wichtig es ist, dass es auch zu 100% nur einmal angelegt wurde und nicht nur nur einmal existiert);

Rollo62 19. Sep 2022 06:16

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Ist zwar nicht Deutsch, aber es gibt ja DeepL:
Hier sind auch ganz nette Beispiele drin.
https://sourcemaking.com/design_patt...trategy/delphi

haentschman 19. Sep 2022 06:26

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Zitat:

oder Regeln
:stupid:
1: KISS https://de.wikipedia.org/wiki/KISS-Prinzip
2: DRY https://de.wikipedia.org/wiki/Don%E2...epeat_yourself

freimatz 19. Sep 2022 07:07

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
So generell: einfach ordentlich arbeiten. Alles so benennen was ist ist, zusammen was zusammen gehört und getrennt was nicht zusammengehört.

https://clean-code-developer.de/

Triple-A - nie gehört, was soll das sein?

Hobby oder Kunde? Oder meinst Du eher Anwender?

Der schöne Günther 19. Sep 2022 07:38

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Zitat:

Zitat von freimatz (Beitrag 1512045)
Triple-A - nie gehört, was soll das sein?

Das war bezogen auf einen Unit Test: Arrange, Act, Assert.

Nur überflogen, aber das hier sah putzig aus:
https://medium.com/ranorex-webtestit...n-883371cffc8e

freimatz 19. Sep 2022 07:41

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Ah, Danke

juergen 19. Sep 2022 08:00

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Vielen Dank für die ganzen Hinweise!:-D

Zitat:

Zitat von mytbo (Beitrag 1512037)
Meine Literaturquellen:
  • Das Original Design Patterns von 1994 der Gang of Four (GoF). Wenn ich mich recht erinnere, war das Buch zeitweise als freier Download im O'Reilly Verlag verfügbar. Sprache ist Englisch. Beispiele sind nicht in Delphi.
  • Max Kleiner, Patterns konkret: Patterns in modellgetriebenen Projekten durchgängig anwenden. Veröffentlichungsdatum 2003.
  • Ein aktuelles Buch ist vom Delphi Geek Primož Gabrijelčič, Hands-On Design Patterns with Delphi.

Ich habe mir jetzt erst mal 2 Bücher geholt.

Hands-On Design Patterns with Delphi - Primož Gabrijelčič
https://www.tutorialspoint.com/ebook...lphi/index.asp

Entwurfsmuster_Das umfassende Handbuch
https://www.rheinwerk-verlag.de/entw...ende-handbuch/


Einige Prinzipien versuche ich konsequent anzuwenden, z.B. DRY und KISS (obwohl ich mir bei KISS im Nachgang nicht *immer* ganz sicher bin ;-) )

Ich habe nun einiges zu lesen. Ich hoffe ich kann damit meine SW in Zukunft auch besser erweiterbar gestalten.

Zitat:

Zitat von freimatz (Beitrag 1512045)
Hobby oder Kunde? Oder meinst Du eher Anwender?

Letztendlich fragt der Kunde (oft im Namen mehrerer Anwender) nach neuen Funktionen. "Hobby-Programmierer": Damit wollte ich unterstreichen, dass ich das nur nebenbei mache, da auch andere Sachen von meiner tatsächlichen Arbeit anstehen.

freimatz 19. Sep 2022 08:26

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Hobby - ah ja so ist das gemeint.
KISS - jaja, über das "simple" gehne die Meinungen oft auseinander :-D

So allgemein halte ich die Regeln (clean code) für wichtiger als die Pattern.
Und wichtig ist dass man dran bleibt und sich nicht entmutigen lässt. Weil alles auf einmal richtig zu machen geht nicht. Es ist ein stetiger Lernprozess.

TurboMagic 19. Sep 2022 21:20

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Zitat:

Zitat von juergen (Beitrag 1512049)
Hands-On Design Patterns - Primož Gabrijelčič
https://www.rheinwerk-verlag.de/entw...ende-handbuch/

Das führt oft auch schrittweise hin und zeigt damit warum das so und nicht anders umgesetzt werden muss.

Rollo62 20. Sep 2022 07:09

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Es könnte auch hilfreich sein sich mit UML-Diagrammen zu beschäftigen, welche Design-Patterns visuell darstellen können.
https://www.softwareideas.net/a/1481...-uml-diagrams-
https://www.tutorialspoint.com/desig...ry_pattern.htm

Design-Pattern sind die eine Sache, das kann man schon nachvollziehen.
Ich persönlich finde es aber meist sehr viel schwieriger die passenden Einsatzorte von bestimmten Pattern zu identifizieren und umzusetzen.
Das braucht wohl immer extrem viel Erfahrung aus verschiedenen Bereichen um da immer 100% sicher zu sein und machmal passen halt auch zwei Pattern für eine Aufgabe oder Patterns könnten kombiniert werden, welche Lösung ist dann die Richtige.

Da fände ich eine größere Sammlung von echten Anwendungen mit kurzer Analyse welche Pattern wie und warum benutzt werden sehr sinnvoll,
die meisten Beispiele aus den Büchern die ich kenne sind oft etwas sperrig und konstruiert.
Ich habe mir die Leseprobe im Rheinwerk mal angesehen, da scheint es ganz gut im wirklichen Betrieb einer Webseite erklärt zu sein,
aber im wesentlichen Teil geht es da doch um den Aufbau des Pattern an sich.
Könnte gut sein dass es im Buch doch mehr gute Beispiele gibt, dann würde ich mir das auch mal ansehen.

Vielleicht kennt ja jemand auch eine gute Seite oder Buch mit echten ( und verschiedenen ) Beispielen aus der Praxis,
um mal von ganz verschiedenen Seiten auf bestimmte Probleme und Designs zu schauen.

juergen 20. Sep 2022 09:26

AW: Welche Pattern oder Regeln sollte man als Basic’s kennen?
 
Zitat:

Zitat von Rollo62 (Beitrag 1512100)
Ich persönlich finde es aber meist sehr viel schwieriger die passenden Einsatzorte von bestimmten Pattern zu identifizieren und umzusetzen.

Genau das ist der Punkt als Anfänger! Anfangs hatte ich gedacht (gehofft), man lernt Regeln oder Pattern kennen und kann die anwenden. Und genau das bekomme ich nicht hin. Ich muss immer erst auf die Schn**** fallen um dann zu merken, da muss ich was ändern und dann fällt mir (hoffentlich) das ein oder andere Pattern oder Prinzip ein, was man in diesem konkreten Fall anwenden kann.

Ich hatte z.B. nie verstanden wozu man Interface benötigt. Dann musste ich ein Projekt erweitern wo 4 Klassen enthalten waren die voneinander erbten. Im Zuge der Erweiterungen stellte ich dann fest, dass ich meine Klassen-Felder nicht wirklich testen konnte!
Dann hatte ich was gefunden wo es um Entkopplung ging über Interface. Erst dann wurde mir das alles klarer.

Es läuft alles auf Erfahrung hinaus! Aber ich denke es kann hilfreich sein das wichtigste vorher gelesen zu haben, um sich im richtigen Moment dran zu erinnern und das im Moment dann im Nachhinein anzupassen. Das direkt anzuwenden ist (für mich) sehr schwierig.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 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