Witaj na Zine.net online Zaloguj się | Rejestracja | Pomoc

Simon says...

Szymon Pobiega o architekturze i inżynierii oprogramowania
DDDSample.Net 0.5
Śpieszę donieść, że właśnie pojawiła się nowa (0.5) wersję projektu DDDSample.Net. Ponieważ dawno o DDDSample nie pisałem, pozwolę sobie przypomnieć, co to takiego ten projekt i jaki jest jego aktualny stan. Projekt jest portem Java-owego DDDSample, demonstracją siły podejścia Domain-Driven Design w projektowaniu aplikacji biznesowych.

Obecnie funkcjonalności biznesowe obejmują:
  • Rejestrację nowego towaru do spedycji
  • Wyznaczenie (niekoniecznie) optymalnej trasy transportu
  • Rejestrację nowego "zdarzenia" transportowego (np. odebrano towar, załadowano towar)
  • Śledzenie postępu transportu
Interfejs użytkownika zbudowany jest w oparciu o ASP.NET MVC. Komendy użytkownika przekazywane są, za pośrednictwem warstwy aplikacji dokonującej translacji żądań, do Modelu Domeny. Model zawiera całość logiki aplikacji. Podzielony jest na 3 główne obszary (zwane agregatami):
  • Location - zawierający logikę związaną z lokalizacją - jest to właściwie generyczna poddomena.
  • Cargo - zawierający logikę związaną z rejestracją, wyznaczaniem trasy oraz śledzeniem postępu transportu
  • Handling - zawierający logikę związaną z rejestracją zdarzeń transportowych
Począwszy od wersji 0.5 komunikacja pomiędzy dwoma ostatnimi agregatami zrealizowana jest asynchronicznie, z wykorzystaniem NServiceBus. Co nam to daje? Podstawowe wykorzystanie agregatu Cargo to odczyt danych (na potrzeby śledzenia postępu). Podstawowe wykorzystanie agregatu Handling to zapis danych (na potrzeby rejestracji zdarzeń). Dzięki oddzieleniu tych dwóch możemy zastosować różne sposoby skalowania w tych dwóch obszarach systemu. A to tylko jeden z wielu przykładów...

Zapraszam do ściągnięcia DDDSample.Net i poeksperymentowania. Projekt dostępny jest w formie instalatora MSI (w sekcji downloads) lub w formie źródeł. MSI nie instaluje źródeł, a jedynie aplikację ASP.NET.

Opublikowane 4 grudnia 2009 06:29 przez simon

Komentarze:

Brak komentarzy

Komentarze anonimowe wyłączone