Prezentacja o DDD, DDDD (filozofia i implementacja)

108 views
Skip to first unread message

Slawek Sobotka

unread,
May 26, 2009, 7:27:41 PM5/26/09
to Lublin Java User Group (Lublin JUG)
Od jakiegoś czasu chodzi mi po głowie przedstawienie Domain Driven
Design.
Póki co wymyśliłem takie 4 tematy główne:
- ogólnie o DDD - mniej więcej to co możecie znaleźć w książce Evansa
http://domaindrivendesign.org/books#DDD, czyli wprowadzenie do ddd,
dlaczego powinno to Was interesować, jakie problemy rozwiązuje (w
ogóle mam problemy z developentem), dlaczego NIE powinniście tego
używać (trochę przewrotnie)
- trochę szerzej o DDD - nowe koncepcje powstałe po wydaniu książki
Evansa - min Distributed DDD (prace Grega Younga)
http://art-of-software.blogspot.com/2009/03/undergroundowy-domain-driven-design.html
- omówienie przykładowej implementacji idei DDD http://domaindrivendesign.org/node/42
opartej o Spring, Hibernate, i różne klienty: Swing, Spring MVC,
WebServices
- przedstawienie DDD Lite - jakaś tam moja wizja wykorzystania
"lekkiego" ddd w małych i prostych projektach. (Generalnie DDD powinno
się stosować w skomplikowanych przypadkach, ale gdy już zachwycicie
się koncepcją DDD, to będziecie chcieli stosować ją wszędzie - nawet w
małych projektach). Przykładowy mały projekt w Seam, Hibernate, JSF z
elementami DDD.

Na pewno na raz się nie da zrobić wszystkiego, więc czekam na sugestie
odnośnie zapotrzebowania: co i w jakiej kolejności sobie ew.
chcielibyście zobaczyć.

Sławek Chmiel

unread,
May 27, 2009, 3:02:23 AM5/27/09
to Lublin Java User Group (Lublin JUG)
No to szykuje się ciekawa prezentacja :)

Co do samej tematyki to myślę że na początek wprowadzenie do DDD
(dlaczego tak/dlaczego nie w porównaniu np. do anemicznego modelu i
SOA) będzie ok.

Prawdopodobnie mało kto słyszał lub czytał o tym 'nowym' podejściu.
Wystarczy że zaczniesz mówić o encjach z metodami czy ograniczonym
kontekście to pewnie i tak część osób spojrzy na Ciebie jak na
wariata ;)
Dla mnie np. ograniczony kontekst wydaje się dość ważne, a zarazem
jego wyznaczenie nie jest sprawą prostą. Jak powinniśmy określać takie
konteksty?
To samo tyczy się domen corowych, wspomagających i generycznych - na
czym powinniśmy się skupić najbardziej przy tworzeniu naszej
aplikacji, a co jest mało istotne i możemy to zrobić później lub nawet
kupić gotowe rozwiązanie?

No i przydałby się jakiś prawdziwy przykład z życia, nie tylko
filozofie. Dodatkowo jeżeli będzie czas to może jeszcze coś o
refaktoryzacji istniejących aplikacji wielowarstwowych w kierunku DDD.

Może w końcu niedługo przestaniemy być daleko za murzynami i dotrzemy
tam gdzie Smalltalk był 30 lat temu...

On 27 Maj, 01:27, Slawek Sobotka <sso...@gmail.com> wrote:
> Od jakiegoś czasu chodzi mi po głowie przedstawienie Domain Driven
> Design.
> Póki co wymyśliłem takie 4 tematy główne:
> - ogólnie o DDD - mniej więcej to co możecie znaleźć w książce Evansahttp://domaindrivendesign.org/books#DDD, czyli wprowadzenie do ddd,
> dlaczego powinno to Was interesować, jakie problemy rozwiązuje (w
> ogóle mam problemy z developentem), dlaczego NIE powinniście tego
> używać (trochę przewrotnie)
> - trochę szerzej o DDD - nowe koncepcje powstałe po wydaniu książki
> Evansa - min Distributed DDD (prace Grega Younga)http://art-of-software.blogspot.com/2009/03/undergroundowy-domain-dri...
> - omówienie przykładowej implementacji idei DDDhttp://domaindrivendesign.org/node/42

Paweł Janusz

unread,
May 27, 2009, 3:14:30 AM5/27/09
to lubli...@googlegroups.com
Powiem szczere, ze mam okazje przygotowywac coś w duchu DDD i... faktycz nie opory by ly na początku duże ale odpowiedzialność odpowiednich obiektów z czasem przynosi efekt. Wiadomo gdzie co i jak szukać, jest łatwiej i bardziej zrozumiale :) Bo np. skoro należy zmienić status zadania, to wiadomo, że metodę to realizującą znajdziemy w... oczywiście Zadaniu :) przykładów można mnożyć.

A co dożyciowych przykładów, to faktycznie będą przydatne :) Zawsze byłoby co podpatrzeć.

Pawel Janusz
czu...@gmail.com

Rafał Jamróz

unread,
May 27, 2009, 3:17:34 AM5/27/09
to lubli...@googlegroups.com
Najwyzszy czas! Ile mozna czekac :))

Licze na jakies fajne przyklady (fajnie ze stworzysz jakas aplikacje, ale zawsze mozna sie posluzyc dddsample : ).

Chcialbym tez zobaczy cos na wzor warsztatu, np. jak dzieki mysleniu o bogatej domenie odkrywamy nowe obiekty (agregaty, serwisy, vo ... ).

Fajnie by bylo gdybys wspomnial cos zdarzeniach wewnatrz domeny (Domain Events).

Przydatne linki:
http://dddsample.sourceforge.net/characterization.html

2009/5/27 Slawek Sobotka <sso...@gmail.com>

Maciej Zubala

unread,
May 27, 2009, 4:05:14 AM5/27/09
to lubli...@googlegroups.com
W dniu 27 maja 2009 09:17 użytkownik Rafał Jamróz
<rafal...@gmail.com> napisał:

>
> Chcialbym tez zobaczy cos na wzor warsztatu, np. jak dzieki mysleniu o
> bogatej domenie odkrywamy nowe obiekty (agregaty, serwisy, vo ... ).
>

Myślę, że to materiał na osobne spotkanie, bo ddd to generalnie temat
rzeka. Można by przygotować parę problemów biznesowych w jakiejś
znanej każdemu dziedzinie i wspólnie spróbować stworzyć model, który
je rozwiązuje. Wtedy każdy zobaczyłby jak DDD wygląda w praktyce.

Irek Matysiewicz

unread,
May 27, 2009, 4:25:48 AM5/27/09
to lubli...@googlegroups.com

> Licze na jakies fajne przyklady (fajnie ze stworzysz jakas aplikacje,
> ale zawsze mozna sie posluzyc dddsample : ).
>
No właśnie: fajne przykłady to podstawa. W Internecie ich za wiele nie
ma. Idea DDD po poczytaniu o niej może wyglądać pięknie, ale jak zaczyna
się to stosować w praktyce, do konkretnych problemów, z użyciem
istniejących bibliotek i frameworków, to wychodzi megakupa.

slawek sobotka

unread,
May 27, 2009, 6:25:32 AM5/27/09
to lubli...@googlegroups.com
Co do przykładu to mam do zaoferowania na publicznym forum:
- dddsampe tym, ktorzy jeszcze nie mieli okazji sie temu przyjrzec
- przecieki z malego projektu, ktory wykorzystuje elementy ddd -
podejscie potocznie zwane "ddd lite" (z tym, ze potrzebowalbym nieco
czasu na obfuskacje binesu poniewaz jest to komercyjny kod - wiec
raczej na najblizsze spotkanie nie dam rady)

Odnosnie jeszcze nowych elementow ddd, czyli tego co sam Evans nazywa
"to czego nauczylismy sie od wydania ksiazki" to jest to tylko jakis
tam moj risercz. Fajnie byloby gdybyscie dorzucili "cos od siebie;)" -
moznaby wowczas zrobic wspolną prezentację syntetyzującą
doswiadczenia/wiedze - ale to mysle ze moze na nastepnym spotkaniu.

Istotna uwaga Sławka Chmiela - metody biznesowa w encjach to bedzie
dostateczny szokna poczatek - sam nie moglem sie pozbierac po tym jak
to po raz pierwszy zobaczylem:)

@Irek
Wsparcie frameworkow dla DDD... hmm ogolnie przemyslowe frameworki nie
nadążają za nowymi koncepcjami.
A czytajac wypowiedzi niektorych tworcow frameworkow persystencji i
integracyjnych mozna jedynie zalac sie łzami:
http://relation.to/2786.lace
http://relation.to/Bloggers/RepositoryPatternVsTransparentPersistence
Widac, ze w najblizszej przyszlosci z tego obozu nie ma co spodziewac
sie pękania betonu;P

Na pocieszenie mamy:
qi4j http://domaindrivendesign.org/library/oberg_2009
ROO (real object oriented) - projekt w ramach spring source - poki co
widzialem tylko enigmatyczne zapowiedzi. Czyzby bastion programowania
proceduralnego (Spring) pekał od srodka;P

Marek Dominiak

unread,
May 27, 2009, 5:16:51 PM5/27/09
to Lublin Java User Group (Lublin JUG)
Oczywiście będzie można liczyć na nagrywanie spotkań o DDD? Jak dla
mnie to w jednym spotkaniu się nie da ładnie tego zaprezentować z
opisem ogólbym o co chodzi w DDD i przeanalizowaniem jakiś przykładów.
Raczej tak jakoś na 3 spotkania :-)

Marek Dominiak

unread,
May 27, 2009, 5:18:41 PM5/27/09
to Lublin Java User Group (Lublin JUG)
A co do qi4j to wydaje mi się że to nie jest pod banderą SpringSource.

slawek sobotka

unread,
May 27, 2009, 5:20:41 PM5/27/09
to lubli...@googlegroups.com
> A co do qi4j to wydaje mi się że to nie jest pod banderą SpringSource.

chyba mi sie paluszek omsknął i nie napisalem myslnikow bo mialem
intencję aby wymienic 2 RÓŻNE rzeczy
- qi4j
- ROO

Lukasz Lenart

unread,
May 27, 2009, 5:41:58 PM5/27/09
to lubli...@googlegroups.com
Kiedy będziesz w Wawie, aby to przedyskutować?


Pozdrawiam
--
Lukasz
http://www.lenart.org.pl/

Reply all
Reply to author
Forward
0 new messages