Fresnel - das kommende UI für Lazarus

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
MiniMatrix
Beiträge: 1
Registriert: So 28. Jul 2024, 12:04

Re: Fresnel - das kommende UI für Lazarus

Beitrag von MiniMatrix »

Ich finde die Idee, die hinter Fresnel steht, fantastisch.
Da es sich um eine Neuentwicklung einer Komponentenbibliothek handelt, wäre es vielleicht gut, von Anfang an das Thema Regression Tests nicht zu vergessen und es direkt mit zu integrieren.
Darum denke ich, es würde Sinn machen, die Komponenten mit Schnittstellen zu implementieren, also die Getter und Setter von Properties immer mit entsprechenden Methoden zu implementieren und diese dann als Schnittstellen Methoden nach außen frei zu geben, neben anderen Public Methoden.
Ab der Basisklasse TComponent, die von Lazarus aus bereits mit einem entsprechenden Interface IComponent ausgestattet werden könnte, würden dann auch alle davon erbenden Ableitungen dieses Interface erben und müssten dann jeweils nur Neues in einem eigenen Interface zur Verfügung stellen, welches vom Vorgänger Interface erbt.
Über einen Compiler Switch "Test" könnte man dann in jeder Klasse ein Property zur Verfügung stellen, welches alle internen Klassen Variablen "F..." als Record, oder besser als eigene Daten Klasse, wäre ebenfalls vererbbar, liefert und entgegen nehmen kann. Damit könnte man wahrscheinlich alles innerhalb einer Komponente testen, was nicht direkt das UI betrifft.
Ich habe mal versucht dies in Delphi über Class Helper zu realisieren, aber leider hat das nicht geklappt, da viele Property Setter und Getter dort als Privat deklariert sind und man sie dann mit neuem Namen zusätzlich implementieren müsste. Hab diesen Versuch deshalb dort wieder eingestellt, aber bei einer Neuentwicklung wäre dies problemlos möglich, gleich mit zu integrieren bzw zu implementieren.
Auf dieser Basis wäre dann die Entwicklung eines Test Frameworks für Komponenten bzw. Klassen möglich, was wiederum dafür sorgen würde, das Software, die unter Lazarus und Fresnel entwickelt wurde getestet und "fehlerfrei" wäre, ein echter Fortschritt und etwas, wo Lazarus in meinen Augen "die Nase vorne hätte".

Antworten