Aktywne Wpisy
PanL +35
Panowie..
Dziewczyna spytała sie mnie, czy może iść na wesele z jakimś kolegą koleżanki(nie znam chłopa)
Wystawiła go partnerka, nie ma z kim iść(ale co mnie to akurat obchodzi)
Dodam ze moja luba jest bardzo podekscytowana tym faktem..
Co zrobic w takiej sytuacji? Raczej średnio mi sie to uśmiecha..
A czy wy pozwalacie waszym kobieta na takie wyjscia?
#zwiazki
Dziewczyna spytała sie mnie, czy może iść na wesele z jakimś kolegą koleżanki(nie znam chłopa)
Wystawiła go partnerka, nie ma z kim iść(ale co mnie to akurat obchodzi)
Dodam ze moja luba jest bardzo podekscytowana tym faktem..
Co zrobic w takiej sytuacji? Raczej średnio mi sie to uśmiecha..
A czy wy pozwalacie waszym kobieta na takie wyjscia?
#zwiazki

groman43 +58
W ostatnią środę dostałem specjalne podziękowania, ponieważ pracuję już 5 lat dla mojego tajwańskiego ciemiężcy, tego złodzieja scrum mastera z drugiego końca świata. Z tej okazji, a także ponieważ mam 10+ lat doświadczenia w branży, postanowiłem, że podzielę się swoimi spostrzeżeniami
- Rynek IT w Polsce jest dość nudny i nieinnowacyjny. Królują CRUDy oraz aplikacje mobilne, które zachodnie korporacje outsourcują w Polsce.
- Nie zna życia ten, kto widział same CRUDy w
- Rynek IT w Polsce jest dość nudny i nieinnowacyjny. Królują CRUDy oraz aplikacje mobilne, które zachodnie korporacje outsourcują w Polsce.
- Nie zna życia ten, kto widział same CRUDy w
Spring jednak utrudnia pisanie poprawnego kodu obiektowego. Człowiek chce napisać normalną klasę, która posiada dane i bazujące na nich zachowania, ale nie da się w prosty sposób.
Jeśli chcemy dodać dane instancji, to najłatwiej to zrobić przez new, ale wtedy obiekt nie będzie zarządzany przez Springa i nie da się wstrzyknąć do niego zależności.
Jedyne rozwiązanie, jakie widzę, to wstrzyknąć pustego beana ze scope "prototype", a później przez setery poustawiać mu wszystkie dane, ale to bardzo zaśmieca kod i uniemożliwia tworzenie niemutowalnych klas, których jestem zwolennikiem.
@dog_meat: nie mam pojęcia w czym widzisz problem
@PrzegrywWykopek: no właśnie w tym, co napisałem wyżej. Zgodnie z OOP klasa powinna mieć indywidualne dane i przypisane do nich zachowania. A tu się tak
https://www.baeldung.com/spring-5-functional-beans
Nie wygląda to bardzo elegancko, ale powinno załatwić sprawę.
(klasa kontekstu kontenera oczywiście powinna być zmieniona)
https://www.youtube.com/watch?v=ILBX9fa9aJo
polecam się zapoznać
@witajswiecie: Nie do końca o to mi chodzi. Ja chciałbym tworzyć wiele instancji klasy, którea posiada indywidualne dane, wewnątrz której mogę wstrzyknąć zależnośc zarządzaną przez Springa.
Wrzuciłem prosty przykład na https://pastebin.com/pLMmEexa (to tylko kod wymyślony na potrzeby przykładu). <-- zawołam jeszcze @Ewentualnie i
@Component
class KlasaPodKontroląSpringa{
@Autowired
Service service;
void cosTam(){
new KlasaNiePodKontrolaSpringa(service);
}
}
@Ewentualnie: wiem, że są obejścia i mogę uzyskać kontekst, i pobrać beana. Ale chodziło mi o to, że Spring raczej zniechęca do pisania zgodnego z prawdziwym OOP
@witajswiecie: To jest właśnie chyba najczystsze rozwiązanie. Średnio podoba mi się łączenie danych i zależności ale chyba tak jest najlepiej. Super jest to właśnie w Scali, gdzie może być wiele list argumentów. Jeśli te zależności są wykorzystywane przez pojedynczą metodę, to wtedy lepiej przekazać je a argumencie metody. Ale jeśli używa się ich w wielu metodach, trzeba wrzucić do
to że łączysz dane i zależności jest winą przyjętej architektury a nie springa, scalowe implicit wcale nie rozwiązuje problemu w tej kwestii, nadal łączysz dane i logikę, tyle że to łączenie dokonuje się na poziomie kompilacji a nie przez kontener DI
@witajswiecie: przecież łączenie logiki i danych jest główną podstawą programowania obiektowego (przeciwieństwem jest programowanie strukturalne, które udaje obiektowe, które rozdziela logikę i dane, opakowując to w klasy)
private @Autowired AutowireCapableBeanFactory beanFactory;
i później gdzieś w metodzie:
MyService create() {
MyService service = new MyService();
beanFactory.autowireBean(service);
}
O coś takiego chodzi?
po prostu osobiście nie widzę powodu dla którego przekazywanie niejawne parametrów rodem ze scali miałoby jakąś przewagę poza tym że ładniej wygląda, tylko dlatego że czegoś nie widzisz bezpośrednio w kodzie, mimo że nadal tam jest podczas kompilacji