BearbeitenErgebnisse Themenfeld Language Oriented Programming
Textuelle DSLs:- Boo
- DSls mit Boo
- Rhino DSL DSL tools für BOO
- DLR Spezifikation: Zum Erstellen von eigenen dynamischen Sprachen, oder zum lernen der neuen Funktionen im .NET Framework 4.0
- Liste von Blogszum Thema Programmiersprachen, Sprachorientierung und LOP
- IntentionalSoftware
- XAML als DSL verwenden mit Clr-NamespaceXAML kann auch als DSL verwendet werden. Hier kann man einfach selbst-geschribene Klassen per xmlns:MyClasses ="clr-namespace=MyNameSpace;assembly=Assmenly" referenzieren und bekommt so intellisense und compile checks auf eigenen Klassen. Per XAML Reader lässt sich dann das XAML parsen und als Objectgraph zurückgeben.
- Oslo M - wurde nicht so attraktiv gefunden weil hier noch einiges fehlt...und man zwei neue Sprache (M und MGrammer) lernen muss.
Visuelle DSL
- Interne DSLs mit Irony
- Domain Specific Lanuage Tools (Microsoft). Interessant ist das alle DSL Diagramme in Visual Studio als XML Datei gespeichert werden. Daher kann man auch so direkt von Ihnen gut generieren. Der Erstellungsaufwand für eine visuelle DSL für den geübten DSL-Entwickler ist ca. 1 Monat, wenn sie richtig gut sein soll (e.g. Persistent Object Diagram DSL in Tangible T4 Editor). Wer es zum ersten mal macht sollte dringend das Buch zu den DSL-Tools von Steve Cook lesen, und 3+ Monate für das erste Projekt rechnen.
BearbeitenErgebnisse Themenfeld Model Driven Development
T4 ist eine Microsoft Sprache zum schrieben von Code-Generatoren in Visual Studio. Sie ist seit 2005 vorhanden in Visual Studio und unter der Dateiendung .tt wird Visual Studio diese Dateien als Generator ausführen.
Die Programmierung erfolgt in C# ähnlich wie bei Visual Studio. Hier geht es zu einem
Einstieg zu T4.
T4 Text Templating ermöglicht das generieren von Code oder Text aus Datenbankschemas, UML Modellen (Sparx), XML-Dateien oder Visuellen DSLs (E.g. tangible free modelling tools, Team System UML Diagrammen oder Linq to SQL / Entity Framework Diagramen). Der
tangible T4 Editorenthält bereits UML-Diagramme und Intellisense und Coloring für T4 sowie eine build-in Online Gallery mit Templates.
Man kann mit T4 sowohl existierende Wizards in Visual Studio ersetzen (DLinq to SQL, Entity Frameowrk Code Gen) oder eigene komplexere Code-Generatoren bauen, die ganze Anwendungen generieren.
T4 Templates kann man per <#@ include #> strukturieren in Untertemplates (".ttinclude"). Entsprechende Vorlagen sind in der FREE Edition des T4 Editors enthalten. Für die Generiernung von mehreren Output files eignet sich der Output manager von Damien Guard oder die T4 Toolbox von
Oleg Sych. Auch hier ist ein Template in der tanigble Gallery enthalten.
Das Blog von
www.olegsych.com gibt gute intros zu T4. Weitere Infos auch auf
Tim Fischer's Blog und beim tangible blog :
http://tangibleengineering.blogspot.com/.
In
Visual Studio 2010 verwendet Microosoft T4 in ASP.NET MVC, Team System UML-Diagrammen Code Gen und Entity FrameworkV2 Code Gen.
T4 ist DER Meschanisum mit dem Wizards in Zukunft anpassbar werden und tatsächlich den Code generieren, den Entwickler in IHREM konkreten Projekt wirklich brauchen - denn jeder Entwickler kann Templates selbst anpassen. Weiterhin ist die T4 Syntax und Funktion seh ähnlich zu ASP.NET d.h. fast kein Lernaufwand für den Einzelnen.