MVC-Beispiel WAS: Lazaruskonferenz 2024 - Call for Papers!

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Gesperrt
wodim
Beiträge: 125
Registriert: Fr 9. Aug 2013, 08:28
OS, Lazarus, FPC: Debian 12 (Bücherwurm), M$Win10, Win11, Laz 3.8 FPC 3.2.2
CPU-Target: 64Bit

MVC-Beispiel WAS: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von wodim »

Was schrub ich da kürzlich:
wodim hat geschrieben: Do 6. Feb 2025, 17:58Ich denke [bei meinem aktuellen Projekt] sowieso nicht an einen direkten Zugriff auf die Datenbank, sondern an das Prinzip "Three Tier" (MVC).
Tja, warum wohl ... Ich habe vor einiger Zeit auch an MVC-Projekten mitgearbeitet (kommerziell, als Angestellter einer Tochterfirma einer nicht ganz unbekannten AG). Da habe ich Anwendungen programmiert, sozusagen nach Userwunsch. In Smalltalk (da gibt's bekanntlich keine Datentypen, nur Objekte), mit einer Oracle-Datenbank (ok, mit zweien, eine nur zu Testzwecken). Ich habe nicht an der ganzen Architektur mitgearbeitet (die bestand schon lange), aber seitdem weiß ich im Prinzip, wie MVC funktioniert. (Hat auch echt immer wieder Laune gemacht, was auf der Basis zum Laufen zu bringen.) Also genau deshalb. :wink: Und hier scheint erfreulicherweise mindestens ein MVC - Experte an Bord zu sein:
m.fuchs hat geschrieben: So 23. Jun 2024, 22:00 Auf Wunsch mehrerer Herren, mache ich zwei Sessions:
  • Das Model-View-Controller-Pattern in Freepascal implementieren
  • Unittesting und Mockups
Beide Vorträge hängen zusammen, wir bauen uns mit MVC eine kleine Anwendung auf und werden diese später mit Unittests versehen.
Jeweils ca. 1h.
Ohooo - für mich mit meinen Erinnerungen erst mal unvorstellbar, wie man sowas in zwei Stunden auf die Beine stellen kann. Ok, was hatten wir denn damals - unsere Smalltalk - "IDE" war im Prinzip ein Quelltexteditor (an dessen Handling ich mit Grausen zurückdenke), ein Compiler, und das war's. (Allerdings mit tausend Möglichkeiten, alles grandios zu verkonfigurieren, davon habe ich also lieber die Finger gelassen.) Das Coden war reine Handarbeit. Es gab zwar auch schon raffinierte Tools, die waren aber selbst unserer Firma zu teuer. :wink:

Ok, die Zeiten ändern sich und die Entwicklung bleibt nicht stehen. Mir scheint fast so, als ob man mit den heutigen Lazarus / FPC - Tools zaubern könnte. :wink: Was habe ich da neulich als Krönung irgendwo gelesen: Damit müsste man keine Zeile eines "flachen" Quelltextes ändern, das Ding würde daraus ganz von alleine eine MVC - Anwendung machen? Fragmichmal, wie das heißt - aber daran kann ich nun schlecht glauben. :wink: Aber ich lasse mich immer gern eines besseren belehren.

Langer Rede kurzer Draht: Könntest du mir diesbezügl. mal auf die Sprünge helfen? Nun nicht mit einem Vortrag von zwei Stunden exclusv für mich. :wink: Nur mit etwas "Hilfe zur Selbsthilfe", dass ich mich nach der altbewährten Methode "learning by doing" da 'reinfummeln kann? Ein kleines (aber wirklich funktionierendes) :wink: Beispielprojekt (idealerweise mit ein paar Kommentaren drin oder / und dazu) täte es vielleicht schon. Und ich setze mal stillschweigend voraus, dass die Mehrheit hier meine Meinung teilt: Es gibt keine dummen Fragen, nur dumme Antworten oder gar keine. :wink:
Zuletzt geändert von wodim am Fr 7. Feb 2025, 02:21, insgesamt 2-mal geändert.
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

wodim
Beiträge: 125
Registriert: Fr 9. Aug 2013, 08:28
OS, Lazarus, FPC: Debian 12 (Bücherwurm), M$Win10, Win11, Laz 3.8 FPC 3.2.2
CPU-Target: 64Bit

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von wodim »

Sorry, bin jetzt erst auf deine Website und die angebotenen Downloads gestoßen:

https://www.ypa-software.de/pages/de/home.php

Ähm, deine Vortragsfolien solltest du aber mal durchsehen. Damit arbeitest du doch nicht wirklich bei deinen Vorträgen? :wink: Ich kann daraus nur "Urschleim" herauslesen, und vieles wörtlich mindestens dreimal wiederholt, dafür fehlt einiges ... Und die Grafiken (eben das "Zusammenspiel" von Model, View, Controller und User) teilweise echt falsch (z.B. hat der User nie direkt mit der View zu tun, er interagiert nur mit dem Controller) ...

Summa summarum: Das Niveau, das du da präsentierst, ist doch nicht deins?

Aber danke für die Aufklärung, was das Model wirklich ist. Nicht die Datenbank, wie ich's fälschlich in Erinnerung hatte.

Aber was sagt mein Compiler zu "deinem" Beispielprojekt:

Code: Alles auswählen

Projekt kompilieren, Ziel: /mnt/data-shared/Lazarus/MVC/Example/bin/MvcExample: Exit code 1, Fehler: 1, Warnungen: 1, Hinweise: 4
sqlite3db.pas(30,4) Note: Private field "TSQLite.fPSQlite" is never used
sqlite3db.pas(86,4) Note: Local variable "DblQuote" not used
sqlite3db.pas(89,4) Note: Local variable "Crlf" not used
sqlite3db.pas(90,4) Note: Local variable "Tab" not used
Warning: linker: /usr/bin/ld: cannot find -lsqlite3: Datei oder Verzeichnis nicht gefunden
MvcExample.lpr(17,1) Error: Error while linking
Das war also erst mal nix. Woher hast du denn das kopiert? :wink:

Kann man also mal sehen, was bei deinen zwei Sessions 'rausgekommen ist? Hoffentlich nicht so enttäuschend wie das, was du da auf deiner Seite präsentierst.. Oder mal ein Link auf ein wirklich funktionierendes kleines Beispielprojekt ...
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 359
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von Jorg3000 »

wodmin, was ist mit dir denn los?
Ich würde mir wünschen, dass alle Sätze, die persönlich beleidigend sind, von Admins sofort rausgekürzt werden. Die Herabwürdigungen sind überflüssig und unangebracht.
Sachliche Kritik kann man ja stehenlassen und ggf. diskutieren.

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 1193
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von kralle »

Moin,

Er ist für beide Beiträge verwarnt worden und aufgefordert worden die persönlichen Angriffe zu löschen.
Kommt er dem nicht binnen 24h nach, lösche ich die Beiträge und stimme mich mit dem restlichen Vorstand über das weitere Vorgehen ab.

Gruß Kralle
OS: Manjaro Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von m.fuchs »

Lasst ihn doch - jeder präsentiert sich so wie er möchte. Was andere Menschen dann darüber denken ist ja wieder eine andere Sache.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1639
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von fliegermichl »

m.fuchs hat geschrieben: Fr 7. Feb 2025, 09:30 Lasst ihn doch - jeder präsentiert sich so wie er möchte. Was andere Menschen dann darüber denken ist ja wieder eine andere Sache.
So sehe ich das auch. Was ich über andere sage, sagt mehr über mich selbst als über die anderen aus.

nummer8
Beiträge: 52
Registriert: Sa 30. Apr 2016, 10:20
OS, Lazarus, FPC: Windows 8 -11 ; linux Debian 12; Mac
CPU-Target: 32bit 64bit

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von nummer8 »

Nein,
lass ihn nicht.
Feedback zu geben ist in Ordnung, aber unverfälschten Tastaturhelden kann klar gemacht werden, dass ein solcher Beitrag nicht in Ordnung ist.
Wenn er bereit ist, eine echte Frage zu stellen, würde ich vorschlagen, den Beitrag in einen neuen Beitrag zu verschieben, mit einem Verweis auf diesen Beitrag. Dies dient dazu, das Forum einigermaßen sauber zu halten.
Außerdem frage ich mich, was an den Compiler-Fehlermeldungen nicht klar ist.
Wenn er damit nichts anfangen kann, scheint mir MVC wirklich eine Nummer zu groß für ihn zu sein.
Aber das ist eine Vermutung.
Davon abgesehen möchte ich klarstellen, dass es auch in diesem Forum in Ordnung ist, kritische Fragen zu stellen, aber Leute unnötig zu beleidigen ist wirklich unnötig.

Benutzeravatar
theo
Beiträge: 10856
Registriert: Mo 11. Sep 2006, 19:01

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von theo »

Wie sagt man?
Ganz schön viel Meinung für so wenig Ahnung! :wink:

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 1193
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von kralle »

Bevor sich das hier jetzt hochschaukelt,
mache ich das Thema dicht.

Gruß Kralle
OS: Manjaro Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von m.fuchs »

wodim hat geschrieben: Fr 7. Feb 2025, 02:05 Ähm, deine Vortragsfolien solltest du aber mal durchsehen. Damit arbeitest du doch nicht wirklich bei deinen Vorträgen? :wink: Ich kann daraus nur "Urschleim" herauslesen, und vieles wörtlich mindestens dreimal wiederholt, dafür fehlt einiges ...
Das sind die Folien zu einem Vortrag - und kein Handbuch oder Tutorial. Das können sich die Teilnehmer der Veranstaltung herunterladen, wenn sie im Nachhinein noch mal einiges in Erinnerung rufen möchten. Dass jemand ohne den Vortrag gehört zu haben nur aus den Folien alles Wissen extrahieren kann, ist nicht vorgesehen.
Folien dienen der Unterstützung des Vortrags, sie sind kein Ersatz.
wodim hat geschrieben: Fr 7. Feb 2025, 02:05 Und die Grafiken (eben das "Zusammenspiel" von Model, View, Controller und User) teilweise echt falsch (z.B. hat der User nie direkt mit der View zu tun, er interagiert nur mit dem Controller) ...
Aha, wie macht der User denn das? Nimmt er einen Debugger und ändert Speicherstellen? Der Controller ist ein Stück Code und enthält keine Oberfläche. Dementsprechend kann der User überhaupt nicht mit ihm interagieren.

Schon ein schneller Blick in den entsprechenden Wikipedia-Artikel zeigt:
Ansicht (view)
Die Ansicht ist für die Darstellung der Daten des Modells und die Realisierung der Benutzerinteraktionen zuständig.
[...]
Steuerung (controller)
Die Steuerung verwaltet die Ansicht und das Modell. Sie wird von der Ansicht über Benutzerinteraktionen (mithilfe des Entwurfsmusters „Beobachter“) informiert, [...]
wodim hat geschrieben: Fr 7. Feb 2025, 02:05 Aber was sagt mein Compiler zu "deinem" Beispielprojekt:

Code: Alles auswählen

Warning: linker: /usr/bin/ld: cannot find -lsqlite3: Datei oder Verzeichnis nicht gefunden
Wenn du dir die Mühe gemacht hättest, diese Fehlermeldung in eine Suchmaschine deiner Wahl zu werfen - dann wäre dir mitgeteilt worden, dass du wohl noch sqlite benötigst.
Was ich übrigens auch in die readme.txt geschrieben habe.
wodim hat geschrieben: Fr 7. Feb 2025, 02:05 Summa summarum: Das Niveau, das du da präsentierst, ist doch nicht deins?
Ich habe keinerlei Probleme damit, wenn man ein bisschen klugscheißt oder auch mal mich bepöbelt - ich polarisiere selber manchmal in meinen Posts.
Allerdings sollte man dann auch tatsächlich ein wenig Hintergrundwissen mitbringen und nicht schon an Basics wie der Definition von MVC oder einer Compiler-Fehlermeldung scheitern. Nichts ist peinlicher, als wenn ein Besserwisser es nicht besser weiß.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2805
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: MVC-Beispiel WAS: Lazaruskonferenz 2024 - Call for Papers!

Beitrag von m.fuchs »

Admin-Hinweis: Das Thema wurde von hier abgetrennt und verschoben.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Gesperrt