Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałAniela Kruk Został zmieniony 8 lat temu
2
Projektowanie skalowalnych architektur z wykorzystaniem zaawansowanych technik DDD Michał Mac macmichal.pl
3
Michał Mac Architekt, konsultant | macmichal.pl kontakt@macmichal.pl 513 95 93 79 Kontakt z prelegentem
4
Po sesji będziesz Wiedział\a jak projektować autonomiczne komponenty. Znał\a sposoby luźnego ich wiązania. Cel sesji
6
DDD book
7
Oprogramowanie modułowe. Czym jest Bounded Context? Zaawansowane techniki DDD łączenia BC. Plan prezentacji
8
Modularność
9
Projekt systemu Projekt
10
Czym jest produkt?
12
Projekt systemu Projekt
13
Projekt systemu
14
Wytyczona aplikowalność konkretnego modelu. BOUNDING CONTEXTS dają członkom zespołów jasne i spójne zrozumienie tego co musi być wspólne, a tego co może rozwijać się niezależnie od siebie. Bounded Context
15
DEMO Bounded Contexts
16
BC - komórki
17
Integracja BC
18
Jeśli klient w module CRM zostanie oznaczony jako VIP to nadaj rabat jego wszystkich niezatwierdzonym zamówieniom. Scenariusz
19
Interakcja CRM Bounded ContextSales Bounded Context
20
Interakcja CRM Bounded ContextSales Bounded Context
21
Interakcja CRM Bounded ContextSales Bounded Context EventBroker
23
public interface IDomainEventPublisher { void Publish (T domainEvent) where T : IDomainEvent; } EventBroker
24
public interface IDomainEventPublisher { void Publish (T domainEvent) where T : IDomainEvent; } public interface IEventSubscriber { void Subscribe(IEventListener listener); void Unsubscribe(IEventListener listener); } EventBroker
25
public interface IEventListener { } public interface IEventListener : IEventListener { void Handle(TEvent eventData); } EventBroker
26
DEMO Domain Events
27
Jeśli zamówienie zostanie zatwierdzone to dział wysyłki powinien rozpocząć realizację zamówienia. Scenariusz
28
public class SimpleEventPublisher : IEventSubscriber, IDomainEventPublisher { private ConcurrentHashSet _eventHandlers = new ConcurrentHashSet (); public void Subscribe(IEventListener listener) { _eventHandlers.TryAdd(listener); } public void Unsubscribe(IEventListener listener) { _eventHandlers.TryRemove(listener); } public void Publish (T domainEvent) { foreach (var handler in _eventHandlers) if (handler is IEventListener ) ((IEventListener ) handler).Handle(domainEvent); } Implementacja
29
In-memory Message bus Możliwe implementacje
30
Inne zastosowania
31
Lista faktur
34
Lista klientów + saldo
35
CqRS Event sourcing UI Aggregator Integracja z logiką domenową Inne zastosowania
36
Zdarzenia out-of-order
37
Niektórym zaufanym klientom wysyłamy towar bez dokumentu zamówienia. Scenariusz
39
Saga to model złożonego procesu, którego stan jest trwały oraz zależy od wielu zdarzeń. Saga
40
DEMO Saga
41
Bounded Context Domain Events Saga Podsumowanie
42
Michał Mac Architekt, konsultant | macmichal.pl kontakt@macmichal.pl +513 95 93 79 Dziękuję za uwagę
43
http://cqrssample.codeplex.com/ http://cqrssample.codeplex.com/ http://blog.macmichal.pl/ http://blog.macmichal.pl/ Linki
44
Organizatorzy MTS czytają wszystkie ankiety. Dzięki nim masz realny wpływ na konferencję oraz merytorykę i prelegentów kolejnego MTS. Wystarczy 5 minut Twojego czasu na wypełnienie ankiety! Masz szansę wygrać m.in. wejściówkę na MTS 2013 (25x) oraz inne nagrody. Gdzie i jak? Ankiety dostępne są online – na stronie konferencji (konferencjamts.pl) Można je wypełnić od dziś, aż do 11 listopada 2012 Wypełnij ankietę i wygraj nagrody!
45
Strefa ATE dostępna jest w strefie Partnerów Zapraszamy wszystkich zainteresowanych poszerzeniem wiedzy Eksperci będą do Państwa dyspozycji Strefa Ekspertów (ATE)
46
© 2012 Microsoft Corporation. Wszelkie prawa zastrzeżone. Microsoft, Windows oraz inne nazwy produktów są lub mogą być znakami towarowymi lub zastrzeżonymi znakami towarowymi firmy Microsoft w Stanach Zjednoczonych i innych krajach. Zamieszczone informacje mają charakter wyłącznie informacyjny. FIRMA MICROSOFT NIE UDZIELA ŻADNYCH GWARANCJI (WYRAŻONYCH WPROST LUB DOMYŚLNIE), W TYM TAKŻE USTAWOWEJ RĘKOJMI ZA WADY FIZYCZNE I PRAWNE, CO DO INFORMACJI ZAWARTYCH W TEJ PREZENTACJI.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.