Aktywne Wpisy
nemo007 +159
Jako że mój kot uwielbia siedzieć wysoko i skakał po meblach szukając miejsca i dodatkowo nie wiedziałem gdzie postawić świeżo zrobiony drapak postanowiłem zrobić dla niego koci kącik i wyszło tak :-) dodam że z początku plan był żeby to zamalować na biało ale w takim surowym stanie roboczym wygląda to zdecydowanie dobrze więc zostawiam jak jest i jak widać kotu chyba też zatrybiło. koszt sądzę nieduży bo 100zł za deskę, wkręty,
kogi +13
Według odtajnionego nieaktualnego już tuskowego planu obrony kraju przed ruskim najazdem zaznaczony na czerwono obszar miał wpaść BEZ WALKI w ręce ruskich. Obrona miała skupiać się wyłącznie na granicy rzeki Wisła.
Tusk gotów był bez walki poświęcić 15 mln rodaków, żeby bronić Berlin.
Zestawiając to z Ukrainą, która walczy o każdy kawałek swojego terytorium, plan ten można nazywać ZDRADĄ NARODOWĄ.
Już na taśmach prawdy mówili gdzie mają Polskę Wschodnią, bo nie byli
Tusk gotów był bez walki poświęcić 15 mln rodaków, żeby bronić Berlin.
Zestawiając to z Ukrainą, która walczy o każdy kawałek swojego terytorium, plan ten można nazywać ZDRADĄ NARODOWĄ.
Już na taśmach prawdy mówili gdzie mają Polskę Wschodnią, bo nie byli
public interface UserRepository {
Mono save(Mono user);
Mono findByUsername(Mono username);
Mono findById(Mono id);
}
czy
public interface UserRepository {
Mono save(User user);
Mono findByUsername(String username);
Mono findById(Long id);
}.
Co sądzicie?
#programowanie #java #springboot~~~~~~
public interface UserService {
Mono registerUser(CreateUserDto createUserDto);
Mono getUserById(Long id);
}
argumenty też powinny być domenowe/nie owrappowane Mono/Flux, zgadza się?
Jak chcesz szybko zrobić poc i zapomnieć o tym kodzie to przepychanie mono wydaje sie być mądre (bo oszczędza czas), ale jak z tego poca wyjdzie produkcja to zapewne lepiej sie postarać
(Opisuje sytuacje idealna i wzorcowa, ciężka to uzyskać w praktyce w dużej aplikacji) Robisz pakiet domain, ports oraz infrastructure (niektórzy robią moduły maveowe ale dla mnie to za dużo).
W pakiecie domain umieszczasz tylko i wyłącznie kod domenowy, biznesowy, te wszystkie swoje ify i klaski. 0 kodu frameworkow, 0 springa. Nawet adnotacji springa
@happy3dprints: nie programuję w javie, ale pytanie: jak mapujesz agregaty na bazę? Inny typ mapowania niż adnotacje czy robisz dodatkową warstwę translacji?
Mógłbyś dać screena z hierarchią katalogową, którą opisałeś w swoim poście?
Tutaj jest giga problem z tym co piszesz, czysto to robisz tak, ze inne obiekty zapisujesz do bazy, a na innych operujesz domenowo. Ale niestety w praktyce często jest tak, ze te 2 obiekty są identyczne, dlatego wiele osób (w tym ja) akceptuje, ze używasz jakiś adnotacji bazodanowych na obiektach z domeny. Ale
@happy3dprints: i mapujesz przez refleksję tak? Czy robisz gettery na każde pole tylko pod kątem mapowania?
@happy3dprints: No i jak wtedy byś to zrobił? Bo taki obiekt domeny musisz odtworzyć aby móc przeprowadzić na
@happy3dprints: ale to bez CQRS, tak? Czy command handlery trzymasz w portach też?
Jeżeli masz „ddd” to jest cała masa frameworkow co refleksja czy innymi mechanizmami przekopiuja. „Ddd” czyli setName(…) i getNane(), masz changeName(…) bez gettera.
Jak masz event soursing to jeszcze inaczej.
Jak ma cruda to „encja na twarz i pchasz”
@happy3dprints: częściowo CRUD (np zapisy konfiguracji), ale też są zachowania i operacje biznesowe, zmiany ustawień obowiązują od kolejnego okresu rozliczeniowego, opłaty są naliczane na różne sposoby itd. Idealnie nie jest, ale lepiej niż encja na twarz i pchasz :)
@happy3dprints odblokuj proszę PW, chciałem jeszcze pogadać.