View
43
Download
0
Category
Preview:
DESCRIPTION
Domain Specific Language. Mac Michał Programujący architekt, konsultant. Agenda. Czym jest DSL? Przykłady użycia DSLa Architekutra SaaS Domain Driven Design Technikalia Implementacja przykładowego języka domenowego. O mnie. Konsultant, programujący architekt, trener IT - PowerPoint PPT Presentation
Citation preview
Domain Specific Domain Specific LanguageLanguage
Mac MichałMac Michał
Programujący architekt, konsultantProgramujący architekt, konsultant
AgendaAgenda
Czym jest DSL?Przykłady użycia DSLa
Architekutra SaaSDomain Driven Design
Technikalia Implementacja przykładowego języka domenowego
O mnieO mnie
Konsultant, programujący architekt, trener ITPublikuje w magazynie Programista.Net Early Adopters
.Net Advisory BoardWindows 8
Postsharp MVPPrelegentNależy do SSEPPMCITP Database Developer, Database AdministratorMCPD Windows DeveloperTwórca biblioteki BFsharp
bfsharp.codeplex.com blog.macmichal.pl
Mac Michałmacmichal.pl
Domain Specfic LanguageDomain Specfic Language
Konfigurowalność aplikacjiKonfigurowalność aplikacji
Możliwości:Opcje włącz/wyłączWymienialne strategieStrategie pisane przez klientaWycinki SQLa
Problemy konfigurowalności Problemy konfigurowalności aplikacjiaplikacji
Często zmieniające się wymagania biznesoweBezpieczeństwo
Chcemy by użytkownik mógł wykonać tylko to na co mu pozwolimy
Wydajność Chcemy by techika była szybka i wydajna
Problemy konfigurowalności Problemy konfigurowalności aplikacjiaplikacji
Prostota Chcemy by użytkownik mógł bardzo szybko nauczyć się rekonfigurować system (nie zawsze).
Szybki czas reakcji Chcemy skrócić do minimum czas rekonfiguracji systemu – implementacji funkcjonalności.
DSLDSL
Czym jest DSL?
„Język programowania przystosowany do rozwiązywania określonej dziedziny problemów, określonej reprezentacji problemu lub określonej
techniki ich rozwiązywania”
DSLDSL
string.FormatRegexExpressionExcelCustom
SaaSSaaS
Najwięksi klienci
$ / Klient
Typowi klienci
Rynek (aktualnie) poza zasięgiemNowy rynek >> aktualny rynek
Co jeśli obniżymy koszt wyprodukowania i dostarczenia oprogramowania?
Modele dojrzałościModele dojrzałości
SaaS – modele dojrzałościSaaS – modele dojrzałości
SaaS – modele dojrzałościSaaS – modele dojrzałości
SaaS – modele dojrzałościSaaS – modele dojrzałości
SaaS – modele dojrzałościSaaS – modele dojrzałości
SaaS – modele dojrzałościSaaS – modele dojrzałości
3 własności3 własności
KonfigurowalnośćMultitenancySkalowalność
SAASSAAS
Reguły biznesoweReguły biznesowe
RÓŻNE WYMAGANIA BIZNESOWERÓŻNE WYMAGANIA BIZNESOWE
DDDDDD
TechnikaliaTechnikalia
TechnikaliaTechnikalia
Drzewo parsowaniaDrzewo ASTInterpretacja i generacja kodu
Drzewo wyrażeniaDrzewo wyrażenia
Drzewo wyrażeniaDrzewo wyrażenia
Drzewo ASTDrzewo AST
Drzewo ASTDrzewo AST
LinkiLinki
http://bfsharp.codeplex.comhttp://cqrssample.codeplex.com/http://dsl.codeplex.com/http://blog.macmichal.pl
PytaniaPytania
KontaktKontakt
Michał Macwww.macmichal.pl kontakt@macmichal.pl 513 95 93 79
Dziękuję za uwagęDziękuję za uwagę
Recommended