Posts Tagged ‘ddd’

The Context

Posted in architektura, domain driven design, java, programowanie on marzec 19th, 2012 by Wojciech Soczyński – Be the first to comment

The inspiration for this post came to me mainly because of the discussion in comments which I had on Sebastian’s Malaca blog. We had a little debate there about the famous „getters and setters” duo. In my opinion, you can peacefully write software, completely avoiding them (with the obvious exception for DTO’s).

read more »

W oczekiwaniu na przykładową aplikację w metodyce DDD

Posted in php, programowanie on lipiec 11th, 2011 by Wojciech Soczyński – 8 Comments

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.

O walidacji słów kilka

Posted in php, programowanie on luty 5th, 2011 by Wojciech Soczyński – 32 Comments

W dyskusji pod wpisem na blogu Matiego poruszyłem temat „walidatorów” w kontekście komponentu Zend Form w Zend Frameworku i tego, że mam zastrzeżenia co do ich koncepcji. Żeby być precyzyjnym nt. przedmiotu o którym będę się rozwodził pozwolę sobie po pierwsze odpowiedzieć na pytanie – czym jest walidacja ?
read more »

DDD sample app pt.1 – motywacja

Posted in php, programowanie on listopad 12th, 2010 by Wojciech Soczyński – 7 Comments

Już od dłuższego czasu przymierzam się do spełnienia obietnicy z początku cyklu o Domain Driven Design jaką jest zademonstrowanie przykładowej aplikacji napisanej w metodyce DDD. W ciągu tych trzech miesięcy jakie minęły od pierwszego wpisu wielokrotnie podejmowałem próby napisania czegoś. Jednak nigdy nie było ani jakiegoś konkretnego tematu na taką aplikację ani za bardzo czasu na ruszenie z developmentem (magisterka, wakacje etc). Natomiast od kilku dni czuję, że nadszedł właściwy czas i temat.
read more »

Wzorce projektowe – specyfikacja (specification) i mini przykład DDD

Posted in php, programowanie on wrzesień 6th, 2010 by Wojciech Soczyński – 5 Comments

Jednym ze wzorców, który pojawia się często w kontekście Domain Driven Design jest wzorzec specyfikacji. Jest to wzorzec, przekształcający reguły biznesowe na logikę Boole’a. Dzięki wzorcowi specyfikacji, możemy w elastyczny sposób sprawdzić, czy dany obiekt spełnia nasze reguły biznesowe.
read more »