Domain Specific Language

Post on 11-Jan-2016

44 views 0 download

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

Transcript of Domain Specific Language

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ę