Prak­tiken

Domain-Driven Design

Sie nutzen Domain-Driven Design für strate­gisches und takt­isches Design in ihren Ent­wick­lungs­pro­jek­ten. Ihre Domä­nen­exper­ten stel­len die Modellie­rung der Fach­lich­keit in den Vorder­grund und erschaf­fen eine domänen­spezi­fischen Sprache. Jeder kennt sie, jeder spricht sie, egal ob als Ent­wickler, Tes­ter oder Nut­zer betei­ligt ist.

Machen sie die gemein­same Domä­nen­spra­che (engl. ubi­qui­tuous language) für alle sicht­bar im Glos­sar. Jeder wich­tige Fach­begriff wird kom­pakt er­klärt. Ver­link­bar. Schnell erreich­bar.

Durch das stra­tegische Design ent­wickelt sich ein tief­grei­fen­des Ver­ständ­nis der Kon­text­gren­zen (engl. boun­ded con­text) im Pro­dukt. Jede Domäne mani­fes­tiert sich in der Struk­tur der Soft­ware und wird mit dem Bau­stein Domain doku­men­tiert. Der Kom­ponenten­über­blick von cards+ ist prak­tisch iden­tisch mit der Kon­text­land­karte (engl. con­text map) von DDD. Die gra­fische Visu­ali­sierung deckt kri­tische Pfade oder un­beab­sich­tigte Rück­kopplun­gen auf. Zu kom­plexe Ab­hängig­keiten wer­den deut­lich sicht­bar.

Inner­halb der Kon­text­gren­zen ent­ste­hen im tak­tischen Design und durch die Reali­sierung Schritt für Schritt weitere Ele­mente des DDD. Ihre Ergeb­nisse doku­men­tieren sie direkt in den gleich be­zeich­neten Bau­stei­nen Service, Entity und Event als Teil der System­struk­tur von cards+. Damit schaf­fen sie die Möglich­keit der Ver­knüpfung der Ele­mente des DDD unter­einan­der und mit den Fach­begriffen aus dem Glos­sar.

Nutzen sie die Möglich­keiten zur Inte­gration der Spezi­fikatio­nen und Test­pläne ihrer Ent­wick­ler und Tester durch Ver­öffent­lichung aus dem Code-Reposi­tory in das Wiki. Machen sie ihr Domain-Driven Design leben­dig.