MVC

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
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

Beitrag von wodim »

fliegermichl hat geschrieben:Was ich über andere sage, sagt mehr über mich selbst als über die anderen aus.
Genau so sieht's aus. Das möchten sich hier bitte mal alle verinnerlichen. :wink: Also zunächst mal muss ich einiges richtigstellen: Mit der Wahrheit kann man niemanden beleidigen. Und ich habe niemanden persönlich angegriffen, da ist also auch nichts zu löschen. Aber zu den konkreten Punkten Stellung zu nehmen.

Ich habe wie gesagt unter anderem auch schon MVC - Anwendungen programmiert. Als Angestellter, und da hätte ich die Probezeit nicht überlebt, wenn ich so laienhaft 'rangegangen wäre, wie man's mir hier unterstellt. Im Gegenteil: "Wir sind mit Ihnen sehr zufrieden!" Probezeit verkürzt, Kündigungsfrist auf ein halbes Jahr verlängert, Gehalt erhöht. (Das war schon etwas überdurchschnittlich, aber das hat diese Firma immer noch "aus der Portokasse" bezahlt.) :wink:

Das ist aber schon etwas länger her, und seitdem ist wie gesagt die Entwicklung nicht stehen geblieben. Deshalb ist mein Wissen inzwischen durchaus auffrischungsbedürftig. Und ich dachte ja auch, das zum Ausdruck gebracht zu haben. Und "Null Ahnung", "Klugscheißer" und ähnliches - das sind echte Beleidigungen. Aber genug zum zum "Persönlichen", also zur Sache:
Jorg3000 hat geschrieben:Sachliche Kritik kann man ja stehenlassen und ggf. diskutieren.
Ganz meine Meinung. Also:
m.fuchs hat geschrieben: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.
Also bitte, zum letzten Mal "persönlich". Hör' bloß auf, mit mir zu reden wie mit einem kranken Kind. :wink:
Ich sagte auch nur: Du solltest mal durchsehen, was du da zum Download bereitgestellt hast. Die eklatanten Fehler springen doch ins Auge. Vieles mehrmals wiederholt, dafür fehlt einiges.
m.fuchs hat geschrieben:
wodim hat geschrieben: 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.
Stimmt. Mit der View aber auch nicht, so wie du es grafisch darstellst. Wie gesagt: EInfach mal durchsehen, da sollte dir auch das schon auffallen.
m.fuchs hat geschrieben:Schon ein schneller Blick in den entsprechenden Wikipedia-Artikel zeigt ...
... mir, dass unsere firmeninterne Terminologie damals stark vereinfacht war. Was dem Verständnis, insbesondere dem der User, aber keinen Abbruch tat, ganz im Gegenteil. :wink: "Controller" hieß bei uns einfach alles, woran der Anwendungsentwickler arbeitete, einschließlich des GUI, mit dem der User letztlich arbeitete.
m.fuchs hat geschrieben:
wodim hat geschrieben: 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.
Nett. Aber das wusste ich auch so schon. Hab' nur keinen Bock auf sqlite, seit ich mit MariaDB arbeite. Aber wenn das Ding dann funktioniert, werde ich's wohl mal installieren. Notgedrungen, und nur so lange, bis es mit MariaDB läuft. Das sollte hoffentlich kein Problem sein.

Außerdem war ich gestern abend ziemlich missgestimmt, aus sicher nachvollziehbaren Gründen, s. meine Kritik an deinen Folien:
wodim hat geschrieben:Summa summarum: Das Niveau, das du da präsentierst, ist doch nicht deins?
Dazu stehe ich. Als "Codeklopfer" ziehe ich nämlich vor Leuten, die Software - Achitektur beherrschen, den Hut, auch mit meinem Uni-Abschluss. :wink:
m.fuchs hat geschrieben:Ich habe keinerlei Probleme damit, wenn man ein bisschen klugscheißt oder auch mal mich bepöbelt
Ich schon, aber ich hoffe, die sind jetzt aus der Welt.
m.fuchs hat geschrieben: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ß.
So muss das meine Firma damals auch gesehen haben. Und nicht nur die. :wink: Kriegst mal noch eine PN von mir mit einigen Daten. Und dann können wir hier hoffentlich weiter diskutieren wie erwachsene Menschen.
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

TSchnuckenbock
Beiträge: 118
Registriert: Do 20. Jul 2017, 23:47
OS, Lazarus, FPC: Win7 und Win10
CPU-Target: xxBit
Wohnort: Südheide (Schnuckenland)

Re: MVC

Beitrag von TSchnuckenbock »

Ich habe auch einen Uni-Abschluß. :lol:

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: MVC

Beitrag von wodim »

TSchnuckenbock hat geschrieben: Fr 7. Feb 2025, 16:37 Ich habe auch einen Uni-Abschluß. :lol:
Was, du auch? Dann sind wir ja schon zwei. :wink:
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: MVC

Beitrag von wodim »

Code: Alles auswählen

Warning: linker: /usr/bin/ld: cannot find -lsqlite3: Datei oder Verzeichnis nicht gefunden
Hm, sqlite3 ist bei mir installiert, trotzdem kommt diese Meldung (unter Linux). Wer kann mir da mal auf die Sprünge helfen - wo im Code muss ich den Fehler suchen? Danke im voraus.

Aber immerhin meldet unter Linux fairerweise schon der Linker den Fehler. Hab' das Ganze unter Windows compiliert, da meldet es erst zur Laufzeit "sqlite3.dll nicht gefunden". Das ist hinterhältig. :wink: Aber wieder mal eine gute Übung, welche Laufzeitfehler abgefangen werden müssen, bevor sie den User schocken. An manche denkt man als Programmierer ja erst mal nicht im Traum. :roll:
Dateianhänge
Mvc_Beispiele.zip
(78.85 KiB) 75-mal heruntergeladen
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: MVC

Beitrag von af0815 »

Ist auch das -dev Paket von sqlite3 installiert. Aufgrund der Tatsache das die DIstributionen die nötigen Links nur mit dem developer Paket zu machen, muss man leider das auch installieren.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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: MVC

Beitrag von wodim »

wodim hat geschrieben: Fr 7. Feb 2025, 17:45 Aber immerhin meldet unter Linux fairerweise schon der Linker den Fehler. Hab' das Ganze unter Windows compiliert, da meldet es erst zur Laufzeit "sqlite3.dll nicht gefunden". Das ist hinterhältig. :wink: Aber wieder mal eine gute Übung, welche Laufzeitfehler abgefangen werden müssen, bevor sie den User schocken. An manche denkt man als Programmierer ja erst mal nicht im Traum. :roll:
Und auch jetzt mit der sqlite3.dll im Anwendungsverzeichnis funktioniert das Ding nicht. "Neue Person anlegen" legt einfach nichts an,.aber es kommt auch keine Fehlermeldung. Wahrlich ein gutes Beispiel. Dafür, wie man's nicht machen soll. :roll:
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: MVC

Beitrag von wodim »

af0815 hat geschrieben: Fr 7. Feb 2025, 18:08 Ist auch das -dev Paket von sqlite3 installiert.
Hab' libsqlite3-dev installiert, jetzt läuft's. Danke für den Tipp.
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: MVC

Beitrag von af0815 »

wodim hat geschrieben: Fr 7. Feb 2025, 18:12
wodim hat geschrieben: Fr 7. Feb 2025, 17:45 Aber immerhin meldet unter Linux fairerweise schon der Linker den Fehler. Hab' das Ganze unter Windows compiliert, da meldet es erst zur Laufzeit "sqlite3.dll nicht gefunden". Das ist hinterhältig. :wink: Aber wieder mal eine gute Übung, welche Laufzeitfehler abgefangen werden müssen, bevor sie den User schocken. An manche denkt man als Programmierer ja erst mal nicht im Traum. :roll:
Und auch jetzt mit der sqlite3.dll im Anwendungsverzeichnis funktioniert das Ding nicht. "Neue Person anlegen" legt einfach nichts an,.aber es kommt auch keine Fehlermeldung. Wahrlich ein gutes Beispiel. Dafür, wie man's nicht machen soll. :roll:
Was für eine Bitness ist dein Programm (32 oder 64) und welche Bitness hat deine sqlite3 dll (32 oder 64)? Das ist unabhängig davon welche Bitness Lazarus hat, ausser das bei der Einstellung default im Projekt die Bitness von Lazarus übernommen wird.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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: MVC

Beitrag von wodim »

af0815 hat geschrieben: Fr 7. Feb 2025, 18:33
wodim hat geschrieben: Fr 7. Feb 2025, 18:12 Und auch jetzt mit der sqlite3.dll im Anwendungsverzeichnis funktioniert das Ding nicht. "Neue Person anlegen" legt einfach nichts an,.aber es kommt auch keine Fehlermeldung. Wahrlich ein gutes Beispiel. Dafür, wie man's nicht machen soll. :roll:
af0815 hat geschrieben: Fr 7. Feb 2025, 18:33welche Bitness hat deine sqlite3 dll (32 oder 64)?
64
af0815 hat geschrieben: Fr 7. Feb 2025, 18:33Was für eine Bitness ist dein Programm (32 oder 64)
Da bin ich mir nicht so sicher.
af0815 hat geschrieben: Fr 7. Feb 2025, 18:33Das ist unabhängig davon welche Bitness Lazarus hat, ausser das bei der Einstellung default im Projekt die Bitness von Lazarus übernommen wird.
Hm, also Lazarus hat 64, an den Einstellungen habe ich nichts geändert. Wo finde ich die?
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: MVC

Beitrag von wodim »

wodim hat geschrieben: Fr 7. Feb 2025, 14:44 Hab' nur keinen Bock auf sqlite, seit ich mit MariaDB arbeite. Aber wenn das Ding dann funktioniert, werde ich's wohl mal installieren. Notgedrungen, und nur so lange, bis es mit MariaDB läuft. Das sollte hoffentlich kein Problem sein.
Typischer Fall von "Denkste". :mrgreen:

https://lazarusroad.blogspot.com/2014/0 ... r-and.html
Obwohl es in Diskussionen oder Artikeln über Code-Design allgegenwärtig ist, gibt es nur wenige umfassende Beispiele für die Verwendung dieses Musters mit Delphi/Lazarus. Die meisten Beispiele sind nur „Ein-Formular-Anwendungen“, die nicht zeigen, wie man eine Anwendung im großen Maßstab organisiert. Es gibt nicht einmal ein gemeinsames Muster zwischen ihnen, einige verweisen auf den Controller in der Ansicht, während andere das Gegenteil tun .
Da brauche ich mich also nicht zu wundern, warum ich schon vor der Architektur dieses von der Funktionalität her simplen Beispiels erst mal stehe wie der Ochs vorm neuen Tor. :wink:
Dies ist kein ausschließliches Object Pascal-Problem. Andere Sprachen haben das gleiche Problem und der Grund ist einfach: Das MVC, wie es vor Jahrzehnten für Smalltalk entwickelt wurde, passt nicht natürlich in die moderne, ereignisgesteuerte GUI-Architektur.
Gugge an. Hab' ich's also richtig in Erinnerung: Damals mit Smalltalk hatte ich damit keine Probleme. Jetzt weiß ich auch, warum. :wink:

Und wieder was gelernt:

https://openbook.rheinwerk-verlag.de/oo ... 078e1a5b48
Vorsicht, Falle Nummer 1: MVC ist kein Schichtenmodell
Tja, in diese Falle bin ich auch getappt. :roll:
MVC ist ein Muster für Interaktionen in der Präsentationsschicht. Es setzt damit bereits voraus, dass wir uns grundsätzlich auf eine Architektur eingelassen haben, die Schichten vorsieht und die Präsentation vom Rest der Anwendung trennt.

MVC ist keine komplette Architektur.

In der Praxis und in der Literatur haben wir aber häufiger eine Interpretation von MVC gesehen, die dieses Muster zur kompletten Architektur für eine Applikation erhoben hat. Außerdem wird häufig auch die Rolle des Modells überdehnt, indem diesem die Verantwortung für Geschäftslogik, Persistenz oder andere zentrale Aspekte zugeschoben wird.
Summa summarum: Der ganze Aufriss für eine einzige User-App ist schlichtweg für die Katz. Und für meine Zwecke völlig unbrauchbar
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

hum4n0id3
Beiträge: 319
Registriert: So 5. Mai 2019, 15:23

Re: MVC

Beitrag von hum4n0id3 »

Kenne die ganze Diskussion nicht, da der Thread wohl abgeschnitten wurde. Interessiert mich aber auch nicht :mrgreen:

MVC ist nicht wirklich schwer zu verstehen WENN man es verstanden hat und nicht das einzige Design Pattern. Und es macht keinen Sinn es überall einsetzen zu können, obwohl man es will.

Ich habe gerade ein Projekt hinter mir wo jemand versucht hat MVC umzusetzen, in einem System wo kein MVC sinnvoll ist und auch nicht gelungen ist. Es war total schwer das System nachzuvollziehen, weil alles verschoben wurde.

In Lazarus zu erklären, wäre das in etwa so. Du hast einen Button mit einem Click-Event, wo ein Funktionsaufruf deklariert ist. Wenn man die Funktion öffnet und schaut was drin ist, ist sie leer. Trotzdem wird durch den Druck auf den Button eine Aktion ausgeführt, du weißt halt nicht wo und wie.

Irgendwann findet man mit viel Einsatz heraus, das irgendwo ein eigener "Action-Handler" implementiert wurde, das aber weder der Funktionsweise von Lazarus entspricht noch ein MVC ist. Es passt einfach nichts mehr und die Nachvollziehbarkeit ist auch schwer.

Das Projekt ist nochmal, nicht in Lazarus entwickelt worden, ich habe es nur leicht veranschaulicht versucht darzustellen.

Man kann alles kaputt machen, wenn man es wirklich will. Muss man aber etwas umsetzen und man hat sich für ein Werkzeug entschieden, dann nutzt man das gefälligst so, wie es gedacht wurde. Wenn es wirklich nur darum geht MVC durchzusetzen, muss man dann das wählen was MVC auch kann.

Und MVC ist nur ein Pattern von vielen, die auch nicht besser oder schlechter sind. Dem Einsatzzweck entsprechend.

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: MVC

Beitrag von wodim »

hum4n0id3 hat geschrieben: Sa 8. Feb 2025, 06:35 Kenne die ganze Diskussion nicht, da der Thread wohl abgeschnitten wurde. Interessiert mich aber auch nicht :mrgreen:

MVC ist nicht wirklich schwer zu verstehen WENN man es verstanden hat und nicht das einzige Design Pattern. Und es macht keinen Sinn es überall einsetzen zu können, obwohl man es will.

Ich habe gerade ein Projekt hinter mir wo jemand versucht hat MVC umzusetzen, in einem System wo kein MVC sinnvoll ist und auch nicht gelungen ist. Es war total schwer das System nachzuvollziehen, weil alles verschoben wurde.

In Lazarus zu erklären, wäre das in etwa so. Du hast einen Button mit einem Click-Event, wo ein Funktionsaufruf deklariert ist. Wenn man die Funktion öffnet und schaut was drin ist, ist sie leer. Trotzdem wird durch den Druck auf den Button eine Aktion ausgeführt, du weißt halt nicht wo und wie.

Irgendwann findet man mit viel Einsatz heraus, das irgendwo ein eigener "Action-Handler" implementiert wurde, das aber weder der Funktionsweise von Lazarus entspricht noch ein MVC ist.
Stimmt, so weit war ich auch schon fast. Schade um die Zeit. Das ist nämlich wie gesagt schon gar nicht das, was ich brauche: Eine Three-Tier-Architektur.
hum4n0id3 hat geschrieben: Sa 8. Feb 2025, 06:35Es passt einfach nichts mehr und die Nachvollziehbarkeit ist auch schwer.
Eben. Sinn oder Unsinn des Ganzen steht also wohl außerhalb jeder Diskussion.
hum4n0id3 hat geschrieben: Sa 8. Feb 2025, 06:35Man kann alles kaputt machen, wenn man es wirklich will.
Da ist nichts mehr kaputt zu machen, das IST kaputt. Für einen produktiven Einsatz nicht zu gebrauchen (hatten wir schon). :roll:
hum4n0id3 hat geschrieben: Sa 8. Feb 2025, 06:35Muss man aber etwas umsetzen und man hat sich für ein Werkzeug entschieden, dann nutzt man das gefälligst so, wie es gedacht wurde. Wenn es wirklich nur darum geht MVC durchzusetzen, muss man dann das wählen was MVC auch kann.
Sag' mal, willst du mich verar...? Ich habe eine ganz konkrete Aufgabe übernommen:

viewtopic.php?p=147960#p147960

Zitat aus unserem Werkvertrag:
hum4n0id3 hat geschrieben: Sa 8. Feb 2025, 06:353.1. Der Auftragnehmer hat das in Z. 1. genannte Werk spätestens bis zum [tt.mm.jjjj] abnahmereif und mängelfrei herzustellen, zu dokumentieren und gegenüber dem Auftraggeber die Abnahmereife anzuzeigen.
[...]
4.1. Der Auftraggeber hat das vom Auftragnehmer erstellte Werk unverzüglich nach Mitteilung der Abnahmereife daraufhin zu überprüfen, dass Mängelfreiheit besteht und bei positivem Vorliegen der Mängelfreiheit das Werk abzunehmen.
Soll ich da jetzt sagen: "Tut mir leid, das geht mit Lazarus und MVC nicht?" :wink:
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: MVC

Beitrag von af0815 »

So nebenbei, Lazarus und Delphi sind immer schon RAD-IDEs gewesen. Das ist auch durch die LCL bzw. VCL so einmal vorgegeben und auch durch die Geschicht beding.

Wenn über RAD eine andere Technologie stülpen will, so ist das sicher möglich, aber nicht der einfachste Weg. Wenn man so will, kann man den FPC alleine hernehmen und sein eigenes Widgetset und Entwurfsmuster drüberstülpen. Nur alles in einem Topf zu werfen, zu vermatschen und sich dann Beschweren warum das ganz einfach für die Tonne ist, ist IMHO auch nicht ok.

Martin Schreiber ist einmal den Weg gegangen und hat eine andere IDE geschaffen, die den FPC verwendet aber keine Widgetsets, die hat er selbst geschaffen. Auch ein Weg wenn man mit der LCL nichts am Hut hat. Leider ist er zu früh verstorben. Aber es zeigt das der Weg möglich ist.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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: MVC

Beitrag von wodim »

af0815 hat geschrieben: Sa 8. Feb 2025, 12:59 So nebenbei, Lazarus und Delphi sind immer schon RAD-IDEs gewesen. Das ist auch durch die LCL bzw. VCL so einmal vorgegeben und auch durch die Geschicht beding.

Wenn über RAD eine andere Technologie stülpen will, so ist das sicher möglich, aber nicht der einfachste Weg.
Will ich das? Ich weiß doch (noch) gar nicht, was "RAD" heißt. :wink:
af0815 hat geschrieben: Sa 8. Feb 2025, 12:59Wenn man so will, kann man den FPC alleine hernehmen und sein eigenes Widgetset und Entwurfsmuster drüberstülpen.
Ich will überhaupt nichts über irgendwas "drüberstülpen", wie kommst du nur auf die Idee?
af0815 hat geschrieben: Sa 8. Feb 2025, 12:59Nur alles in einem Topf zu werfen, zu vermatschen und sich dann Beschweren warum das ganz einfach für die Tonne ist, ist IMHO auch nicht ok.
MVC ist für den produktiven Einsatz völlig sinnfrei, da sind wir uns hoffentlich einig. Was ich brauche (auch schon ...zillionenfach praktiziert wird), ist Three Tier. Mein verhängnisvoller Irrtum war eben, MVC mit Three Tier zu verwechseln, aber da war ich auch nicht der einzige. :wink: Also wer hat da was "in einen Topf geworfen" und "vermatscht"? Hab' mich also weiter durchgegoogelt und -geklickt:

https://wiki.lazarus.freepascal.org/mul ... s_with_fpc

Und schau an, "Laz-n-tier" (alias "DBNetAdapter") dürfte genau das sein, was ich brauche:

https://sourceforge.net/projects/laz-n-tier/

Download, entpackt und das Package "DBNetProcessor.lpk" installiert. Ok, ein Kind braucht wohl nicht unbedingt 3 Namen, aber es scheint schon nicht von schlechten Eltern zu sein. :wink: Gibt's hier Leute mit einschlägigen Erfahrungen?
Das langsamste und fehleranfälligste Teil sitzt immer vor der Tastatur. Und wenn's "Programmierer" heißt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6762
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: MVC

Beitrag von af0815 »

Einschlägige Erfahrung ja, welches Thema bitte.


BTW, es sieht so aus als würde Laz-n-tier nicht unbedingt das aktivste Projekt seit fast einem Jahrzehnt sein. tiOPF, das ich relativ gut kenne ist auch im Dornröschenschlaf, hat aber noch Fangemeinde die Wartung macht. MorMot ist sehr aktiv und mittlerweile in V2.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten