Czas trwania
1-2 dni
Abstrakt
Podczas szkolenie uczestnicy zapoznają się z tematyką tworzenia i używania języków dziedzinowych. Jeden z najbardziej elastycznej i oferujących największe możliwości metodzie konfiguracji systemu. W ręce użytkownika (wdrożeniowca, specjalny zespół po stronie klienta) będziemy oddawać prosty język, który pomoże mu zmienić określone reguły biznesowe rządzące systemem w niespotykanym do tej porze czasie.
Przykładowe problemy, które zostaną zaprezentowane na szkoleniu to:
“Szkolenie było bardzo ciekawe, konkretne z licznymi przykładami”
- Reguły biznesowe i walidayjne.
- Język matematyczny.
- System rabatowy.
- System liczenia zdolności kredytowej.
- Walidator zapytań SQL.
Zagadnienia
Po co nam DSL? |
Problemy konfigurowalności aplikacji |
Często zmieniające się wymagania biznesowe |
Bezpieczeństwo – chcemy by użytkownik mógł wykonać tylko to na co mu pozwolimy |
Wydajność – chcemy by techika była szybka i wydajna |
Prostota – chcemy by użytkownik mógł bardzo szybko nauczyć się naszego DSLa. |
Szybki czas reakcji – chcemy skrócić do minimum czas wymaganie – zaimplementowana funkcjonalność. |
Czym jest DSL? |
Alternatywne rozwiązania |
Przykładowe rozwiązania |
Praktyczne informacje o kompilatorach |
Drzewo wyrażenia, drzewa AST |
Użycie ANTLR do budowy składni języka |
Projektowanie składni wyrażeń DSL |
Budowa drzewa AST |
Sprawdzanie poprawności fizycznej i logicznej danego zapytania |
Wykonywanie wyrażenia |
Interpretacja |
Wzorzec Visitor |
Generacja kodu |
Techniki |
Expression |
Reflection.Emit |
Cele |
Generacja kodu |
Generacja klas |
Przydatne techniki |
Lambda expression |
C# dynamic: expando object |
Techniki cross-platformowe: |
.Net |
Silverlight |
Windows Phone |