AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Trennung von GUI und Logik, wie geht ihr vor?
Thema durchsuchen
Ansicht
Themen-Optionen

Trennung von GUI und Logik, wie geht ihr vor?

Ein Thema von divBy0 · begonnen am 19. Aug 2011 · letzter Beitrag vom 30. Jan 2018
 
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.049 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#11

AW: Trennung von GUI und Logik, wie geht ihr vor?

  Alt 20. Aug 2011, 13:37
DSharp gefällt mir echt gut und ich experimentiere damit jetzt etwas rum.
Freut mich, bei Fragen, Anregungen oder Bugs, einfach ne pm oder email an mich
Binding kommt ja erst mit XE2, DSharp von Stevie funktioniert erst ab D2010 so einigermaßen wegen den Generics. Ich hab jetzt noch nicht mit Google gesucht, aber gibt es denn weitere Binding-Komponenten?
Nicht in dem Umfang und mit den Features, die ich implementiert habe, welche Zielsetzung ich verfolge, habe ich in einem meiner ersten Blogposts erläutert. Es gibt einige Mechanismen auch in anderen Komponenten (die data sensitiven Controls, wo man z.B. den Fieldname setzt). Ich kann auch schon in Delphi 7 und früher 2 Objekte verbinden, und sie miteinander kommunizieren lassen, ohne, dass sie sich gegenseitig kennen müssen. Meine Grenzen sind aber nunmal da, wo die Sprachunterstützung aufhört. Der größte Kritikpunkt wurde ja schon genannt, es ist string basiert, da es keinen language/compiler support für property binding gibt. Und die Notifications bei der Änderung einer Property muss auch selber implementiert werden, damit die angeschlossenen Bindings darüber informiert werden und die Gegenseite aktualisieren. Beides Dinge die meiner Meinung nach einfach zu implementieren wären und einen großen Schritt auch für RAD bedeuten würden.

Es gibt einige entscheidende Gründe, warum die derzeitige Lösung ab 2010 funktioniert - ich glaube aber alles davon könnte mit Abstrichen hier und da anders implementiert werden, um es auch in alten Delphi Versionen lauffähig zu machen:
  • Multicast Events - die Implementierung, die ich gewählt habe, macht von Generics Gebrauch, so, dass ich aus jedem beliebigen Event typ (z.B. TNotifyEvent) ein Multicast Event machen kann. Würde aber auch ohne gehen, dann müsste man die konkreten Typen halt auscodieren, ähnlich wie man früher typisierte Objektlisten gebaut hat.
  • RTTI - Eigenschaften von den einfachsten Objekten sollen bindable sein, geht nur mit der RTTI ab 2010, bei der alten ist man auf published Properties und TPersistent Derivate angewiesen.
  • verbesserte Designtime Unterstützung - irgendwann zwischen Delphi 7 und Delphi 2009 wurden einige Erweiterungen für den OI gemacht, indem man selber dort Properties registrieren kann, die aber eigentlich garnicht Teil den Objekts sind - die gebrauche ich, um den dafür registrierten Controls die DataBinding Eigentschaft zu verpassen, sobald eine TBindingGroup auf dem Form oder Frame liegt - darauf müsste man verzichten, aber man kann ja immernoch über die BindingGroup selber Bindings anlegen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (20. Aug 2011 um 13:39 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 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