Pewnie niektórzy stali czytelnicy mojego bloga pamiętają, że jakiś czas temu rozpocząłem cykl o Domain Driven Design. Zaczął się on od prostego wprowadzenia, po którym coraz to bardziej zagłębiałem się w temat od strony teoretycznej, by w pewnym momencie zaanonsować, że niedługo umieszczę przykładową aplikację w PHP napisaną przy pomocy tej metodyki. Ostatni artykuł z tego cyklu umieściłem 12 listopada 2010… (tu zapada niezręczna cisza). Jako, że od tego czasu blog cały czas żył, mogło by się wydawać, że zaniedbuje moich drogich czytelników zainteresowanych tym tematem. Nic bardziej błędnego ! Prawda jest taka, że przez cały czas zgłębiałem swą wiedzę oraz implementowałem konkretną aplikację w metodyce DDD.
Aplikacja, którą tworzyłem, była w istocie tą samą, którą chciałem stworzyć w ramach zapowiedzianego przykładu DDD. Co więcej, jako, że było to już moje drugie podejście do tematu (aplikację w tej samej domenie tradycyjnymi metodami już raz stworzyłem), miałem okazję przyjrzeć się oraz przekonać jakie różnice są między obiema podejściami oraz poznać ich wady i zalety.
Pewnie za jakiś czas zaprezentuje wyniki mojej pracy na forum publicznym, natomiast jak na razie, chciałbym wymienić benefity, których już doświadczyłem, ze względu na zastosowanie DDD:
- łatwość w modyfikacji
- łatwość w znajdywaniu i usuwaniu błędów
Powyższe efekty wynikają bezpośrednio z takich cech oprogramowania pisanego w metodyce DDD jak:
- skupienie się na metodach biznesowych
- maksymalna enkapsulacja
- terminy ze słownika domeny użyte w kodzie
- przejrzysty przepływ sterowania
- pełna testowalność
Więcej szczegółów ujawni się z pewnością samo, przy okazji oglądania kodu owej aplikacji, gdy już ją opublikuje. Tymczasem zachęcam wszystkich do przeczytania swoistego wstępu do DDD, który ostatnio pojawił się w czasopiśmie Software Developers Journal, gdzie Sławomir Sobótka – znany ekspert w dziedzinie DDD dzieli się swoją wiedzą wraz ze zrozumiałymi przykładami w Javie / C#. Czasopismo oczywiście można pobrać za darmo w formie PDF-a.