Domain driven design (DDD) - Szoftverfejlesztés fórum

üzenetek

hozzászólások


inf3rno
(nagyúr)
Blog

Sziasztok!
Azért nyitottam ezt a topikot, hogy a DDD-ről társalogjunk. Magyar nyelven nagyon kevés info érhető el erről a módszertanról.


inf3rno
(nagyúr)
Blog

Egyelőre erősen küzdök az aggregatek helyes megválasztásával.

Ezek a guideline-ok:
1.) keep aggregate simple -> contain only members which are bound together by common business rules
2.) address aggregate through aggregate root -> ensure that all business rules are met
3.) never nest aggregates -> only id for reference reasons

Ez mind szép és jó, csak a mostani projektemben elég kevés az adat manipuláció. Inkább csak arról szól, hogy felviszek egy rakás adatot, aztán utána PDF fájlt generálók belőlük.


kress
(aktív tag)

ilyen esetben nem sok ertelme van a nagy betus DDD-nek :)


inf3rno
(nagyúr)
Blog

Én próbálgatom már egy ideje, és bár sokan mondják, hogy kis projekteknél és egyedül nincs értelme, én eddig totálisan az ellenkezőjéről győződtem meg. A kiindulási naív állapothoz képest egy csomót szokott fejlődni a modellem miközben agyalok rajta még a külsőre legegyszerűbbnek tűnő projekteknél is. Aztán persze az is igaz, hogy messze nem vagyok profi benne, és elsőre nem sikerül a legjobbat alkotni... Ami szintén tetszik, hogy mivel lazán csatolt a kód a megjelenítéshez, ezért nem okoz gondot később mondjuk egy mobil alkalmazást betenni a weblap mellé. De még gondolom van ezer dolog, ami tetszik benne, ezért ragadtam le valami DDD-re emlékeztető dolognál. Azt aláírom, hogy nem nagybetűs DDD, amit csinálok, inkább csak ddd. :K Esetleg mesélhetnél arról, hogy te mikor és hogyan alkalmazod, már ha van kedved!

[ Szerkesztve ]


kress
(aktív tag)

kisebb projekteknél inkább csak jól elbonyolítani lehet vele a dolgokat szerintem :)
amit írsz az inkább a karbantarhatóság felé hajaz, loose coupling, dependency injection

ddd blogban nekem ez tetszett [link], van egy unit tesztes könyvve is, hasonló alapokon
dependency injectionhoz meg ez könyv hasznos szerintem [link]


inf3rno
(nagyúr)
Blog

Unit testingről már leszoktam. Ha nagy mozgások vannak a kódbázisban, akkor tarthatatlan, hogy állandóan újra kell írni a teszteket, egyébként is 2-3x annyi munka, mint simán lekódolni, aztán debuggolni. Nekem leginkább a BDD jött be és integrációs teszteket írok. Az is lefedi a nagyját, vagy legalább a gyakori eseteket. Most mondjuk Wordpress plugin készítést gyakorlok, ennél a gyakorlásnál csak manuálisan tesztelek, debuggolok, és így is jó. Régen még azt mondtam, hogy minden projekthez kellenek automatizált tesztek, most már nem vagyok annyira meggyőződve róla. Kis projekteknél szinte mindegy, ha az embernek van kellő tapasztalata, közepeseknél kezd kijönni a hátránya a tesztek hiányának, nagyokhoz látom értelmét. A közepeseknél is inkább úgy csinálom, hogy bizonyos részeket tesztelek, amik kritikusak pl. biztonság, vagy a domain modelt igen, de a prezentációt nem. Amivel még régebben szórakoztam azok az e2e tesztek. Azok se rosszak annyira, de jóval több idő és kényelmetlenebb írni és futtatni őket. Teszteléshez én ezt szerettem: [link], de már nagyon régen olvastam, és hát van vagy ezer jó könyv a témában. DI-ről nem olvastam még külön könyvet, azt esetleg megnézem, köszi!


kress
(aktív tag)

én nem webes területen mozgok és főként backenden, tesztelni én csak azt látom értelmét ahol a logika van, annak nem igen kéne sűrűn változnia, de amikor változik akkor jó hogy ha van teszt a régi elvárt működésre és látszik ha azon volt valami változás valahol, aminek nem kellett volna

hogy aztán valaki tdd-ben írja-e az engem sosem mozgatott, az arra jobb hogy nem drótozol össze mindent midennel, mert akkor tényleg lehetetlen lesz külön tesztelni a lényegi részt és kitéped az összes hajad :D

mostanában ilyen beolvas, mókol, kiir feladataim voltak, ahhoz e2e a legegyszerűbb, csak összehasonlítgatja a kimenetet különböző típusú bemenetkhez

egy két parsolásos dolog volt amihez a unit teszt volt célszerűbb, mert ott látszott közelebbről mi hasal el bizonyos értékek esetén, ahhoz az e2e annyit mondott volna csak hogy baj van tesó pl.

amit írtam tdd könyv nem csak tesztekről szól, az a jó benne, használható példák vannak benne a functional corera, a repository patternre stb., nem az a vért fröcsögő tdd könyv mint a többi

[ Szerkesztve ]


inf3rno
(nagyúr)
Blog

Ja nagyjából egyetértek, hogy projektje válogatja, hogy melyik az ideális tesztelési fajta hozzá. Talán még embere is válogatja ezen felül.

üzenetek