Wpis z mikrobloga

Jak pozbyć się setterów z encji?

https://gildia-developerow.pl/jak-pozbyc-sie-setterow-z-encji/ ()

Wszyscy dookoła mówią, że encje powinny zawierać wyłącznie logikę biznesową, a nie settery. Niby wszyscy to wiedzą, ale każdy i tak robi te settery. Ja wiem, dlaczego tak się dzieje i z chęcią Wam o tym opowiem ( ͡º ͜ʖ͡º)

Tagi: #programowanie, #naukaprogramowania i #programista15k w #symfony, #doctrine i #ddd
CppPolska - Jak pozbyć się setterów z encji?

https://gildia-developerow.pl/jak-pozby...

źródło: joanna-kosinska-4dnG4q3kxdg-unsplash-scaled

Pobierz
  • 6
Jak pozbyć się setterów z encji?


@CppPolska: Ale po co? Encja ze swej natury może zmieniać swój stan, bo tak została zaprojektowana w ramach ORM-a. Logikę biznesową trzyma się w innej warstwie.
@fafak: Patrzyłeś w ogóle na przykład na blogu autora? To autor postawił znak równości między encją w Doctrine (czyli ORM), a encją domenową, a to powinny być dwie różne warstwy. Jak nie będziesz robił z encji w ORM encji domenowej, to nie potrzebujesz rozkminiać jak pozbyć się setterów.
@Pharos: Tak masz rację na początku autor wpisu umieścił encję, która jest encją DDD i encją ORM, ale to przekształca. Usuwa settery i dodaje niezmienniki przez co tworzy encję DDD, dodatkowo wspomina o klasie DTO, która jest modelem anemicznym i tu są wszystkie settery i gettery. Na końcu wpisu encja DDD nie jest równa encji ORM.