Cześć,
zacząłem się zastanawiać dlaczego raczej nie przekazuje się serwisów budując obiekty domenowe? Ma to jakieś wady? A może się tak robi, tylko ja tego jeszcze nie widziałem?
Standardowe podejście:
Book book = booksFactory.create("Ender's Game", "Orson Scott Card")
booksRepository.save(book);
Dlaczego nie robimy np. tak:
Book book = booksFactory.create("Ender's Game", "Orson Scott Card")
book.save();
W drugim przykładzie zakładam, że fabryka przy tworzeniu obiektu (np. mapowaniu go z postaci bazodanowej) dodatkowo w konstruktorze przekazuje repozytorium.
Jeśli jest to kwestia SRP to można znaleźć inne przykłady gdzie takie przekazanie jakiegoś portu do obiektu wydawałoby się ok. Np book.fetchPage(int page)