Dynamic Data Controls (DDD)
Eintrag zuletzt aktualisiert am: 02.06.2009
Dynamic Data Controls sind eine Art von
Rapid Application Development für ein Web-
GUI, wobei im Untergrund eine mehrschichtige Architektur verwendet werden kann.
Die Dynamic Data Controls sind ein ganz anderer Ansatz, der die serverseitige
Datenbindung auf das nächste Abstraktionsniveau hieft. Bisher musste der Webentwickler für jede einzelne Klasse (oder Tabelle) Datenmasken händisch zusammenstellen. Dynamic Data Controls hingegen sind
ASP.NET-
Serversteuerelemente, die auf Basis einer Analyse des Datenschemas in einem
LINQ-to-SQL- oder EF-
Objektmodell eine Benutzeroberfläche zur Anzeige der Daten selbst zur Laufzeit erstellen. Die generierte Oberfläche bietet die Datenanzeige, die Navigation zwischen in Beziehung stehenden
Objekten sowie die Änderung dieser Daten inklusive Validierung. Gegenüber anderen Ansätzen des
Rapid Application Development (
RAD) unterscheidet sich der Ansatz dadurch, dass keine modellspezischen Seiten generiert werden, die man bei einer Änderung im Modell nur schwerlich mit dem neuen Modell synchronisieren kann, sondern eine Reihe von universellen Standardvorlagen zum Einsatz kommen. Die Datenwebsite enthält Vorlagen für Seitentypen und Spaltentypen, die dann auf allen
Datenbanktabellen angewendet werden. Statt mehreren Seiten pro Tabelle gibt es nur wenige Vorlagen. Sonderfälle erschlägt man dann durch eigene Vorlagen.
Die Anzeige kann dann entweder durch
Annotationen in den Datenklassen (z.B. [DisplayFormat], [Description], [Range] und [RenderHint]), durch Spaltenvorlagen (Dynamic Data
Fields) oder durch Seitenvorlagen (Dynamic Data Pages) beeinflusst werden. Eine eigene Vorlage ist aber die
Ausnahme, nicht die Regel, sodass beim Hinzukommen eines Feldes das neue Feld seinen Platz auf dem Bildschirm auch ohne Veränderung der Oberfläche findet.
KritikLeider muss man diese Annotationen auf Klassenebene einsetzen und nicht auf Ebene der Attribute, da bei generierten Klassen, die als partiell gekennzeichnet sind, man zwar Attribute hinzufügen kann, nicht aber Annotationen zu bestehenden Attributen hinzufügen kann.
Kritisch an diesem Ansatz ist auch die Untermischung von "oberflächlichen" Informationen in das Objektmodell zu sehen; eine andere Oberfläche für die gleiche Daten erfordert somit ein neues Objektmodell.
GeschichteCodename war: Oryx
Erste Erwähnug: MIX07 (Mai 2007)
Erscheinungstermin: Dynamic Data Controls sind im Rahmen von .NET 3.5 Service Pack 1 im August 2008 erschienen.
DetailsDie Anbindung ist möglich an LINQ-to-SQL-Datenkontexte oder ADO.NET Entity Framework-Datenkontexte.
Das GUI wird beeinflusst durch die Änderungen der ASCX- und ASPX-Dateien in dem Sondernordner App_Shared.
Projektvorlage: Projektvorlage Dynamic Data Web Application
Namensraum: System.Web.DynamicData
Steuerelemente:
DynamicGridView
DynamicFormView
DynamicFilterRepeater
DynamicField
DynamicListView
DynamicValidator
u.a.
Weitere Klassen:
DynamicDatabase
DynamicMetaTable
DynamicControlParameter
RangeAttribute
RenderHintAttribute
u.a.