Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Domain Driven Design, czyli progamowanie przez modelowanie

3,710 views

Published on

Published in: Technology, Business
  • Dating direct: ❤❤❤ http://bit.ly/2ZDZFYj ❤❤❤
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ❶❶❶ http://bit.ly/2ZDZFYj ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Domain Driven Design, czyli progamowanie przez modelowanie

  1. 1. Domain-Driven Design<br />Programowanie przez modelowanie<br />
  2. 2. O mnie<br />Bloguję: Simon-Says-Architecture.com<br />Twittuję: www.twitter.com/SzymonPobiega<br />Koduję: DDDSample.Net, Ncqrs, NetMX<br />Prezentuję<br />Prowadzę szkolenia<br />Pracuję<br />
  3. 3. Założenia<br />Mówimy o systemach informatycznych klasy enterprise<br />Systemy te przechowują swoje dane w (jakiejś) bazie danych<br />
  4. 4. Model<br />
  5. 5. Rozwiązujemy problem<br />Problem (wymagania)<br />Rozwiązanie (kod)<br />
  6. 6. Modelujemy problem<br />Problem (dziedzina)<br />Model (kod)<br />Problem (wymagania)<br />Rozwiązanie (kod)<br />
  7. 7. Jaki powinien być model?<br />Użyteczny<br />Hermetyczny<br />Podatny na modyfikacje<br />Testowalny<br />Zrozumiały dla wszystkich interesariuszy<br />Wydajnie implementowalny<br />
  8. 8. Jaki nie powinien być model?<br />Uniwersalny<br />Zależny od technologii<br />Zamrożony<br />
  9. 9. Bez modelu<br />Krok 1<br />Krok 2<br />Krok 3<br />Aplikacja<br />
  10. 10. Bez modelu<br />Aplikacja<br />Testy integracyjne<br />
  11. 11. Model<br />Krok 1<br />Krok 2<br />Krok 3<br />Aplikacja<br />Model<br />
  12. 12. Model<br />Testy persystencji<br />Testy jednostkowe<br />Aplikacja<br />Model<br />
  13. 13. DEMO<br />Umacnianie modelu<br />
  14. 14. Meta-model<br />Ponieważ każdy model ma swój model<br />
  15. 15. Wzorzec Domain Model<br />Zawiera wiele<br />Entity<br />Aggregate<br />Posiada jeden<br />Jest<br />Zawiera<br />ValueObject<br />Aggregate Root<br />
  16. 16. Prosty workflow<br />Proces<br />Składa się z wielu<br />Generuje<br />Zdarzenie<br />Czynność<br />Aktywuje<br />
  17. 17. Meta-model<br />Wprowadza uporządkowanie<br />Model to kwestia projektowa, meta-model zaś – architektoniczna<br />Istnieją gotowe meta-modele, takie jak wzorce z grupy Domain Model<br />
  18. 18. DEMO<br />Meta-model<br />
  19. 19. Podsumowanie<br />Lepsze zrozumienie<br />Możliwość powtórnego użycia (koncepcji)<br />Pozytywny wpływ testowalność<br />Zwiększona wydajność<br />Większy koszt początkowy<br />Trudne <br />
  20. 20. Dziękuję za uwagę<br />

×