Fajny content! Na maxa przydałoby się jakieś mini repo, gdzie możnaby na spokojnie przejrzeć pliczek. Ja wiem, że może proszę o zbyt wiele, ale jak już i tak to kodzisz to pushnąć to do otwartego repo może byłoby jednak w zasięgu? ❤ "Bolom" oczy i "muzg" od oglądania tego tutaj z tymi przybliżeniami, przyspieszeniami itp. choć oczywiście wiem, że z pewnością robisz to i tak najlepiej jak się da, za co dziękuję 👍🏻🙂 taki tylko luźny pomysł 🙂
Czy jak piszę w livewire z alpine js to te wszystkie rzeczy są użyteczne czy raczej się ich nie używa? Chodzi mi też o te wzorce itp. bo jak na razie nie spotkałem się z tym...
Jeśli piszesz we frameworku, to jesteś od niego uzależniony. To od Ciebie zależy jak piszesz faktyczną logikę, ale co do zasady powinna być ona kompletnie oddzielona od szczegółów jakim jest livewire. Koniecznie zobacz mój film o tym dlaczego MVC jest kiepskie, oraz film o architekturze warstwowej - myślę że pomoże 🔥
Dzięki, jak zwykle za dobry materiał. Przy okazji mam pytanie. Załóżmy, że potrzebuję tworzyć obiekty, które są mutowalne ale zawierają również jakąś logikę w sobie. Co w takim przypadku? Korzystamy z DTO a logikę zawieramy w jakimś serwisie, walidatorze?
Na to pytanie powinny odpowiedzieć zasady GRASP. Ciężko mi to ocenić, bo pytanie brzmi kto w tej sytuacji posiada jakie dane, ale prawdopodobnie przed utworzeniem obiektu zweryfikowałbym jego poprawność (tam gdzie tworzę instancję - nie w DTO)… Ale na to pytanie nie potrafię jednoznacznie odpowiedzieć, gdy nie znam pełnego kontekstu. Pytanie - czemu obiekt musi być mutowalny? Może to nie DTO a prosta kolekcja czy jeszcze inny twór 🤔
wiem, że "nazwisko" to po prostu przykład, ale generalnie jakakolwiek walidacja nazwiska jest złym pomysłem, więc takie pole to po prostu string ba, w miarę możliwości (brak integracji z zewnętrznymi systemami) najlepiej mieć po prostu jedno pole typu full legal name i ewentualnie drugie "jak chcesz żeby się do ciebie zwracać w komunikacji nieformalnej", oba bez walidacji
Czasem tak, czasem nie. Co jeśli ktoś chce za nazwisko podać znaki specjalne (i nie mówię o niemieckich umlautach)? Oczywiście - to zależy od case’a, ale miałem taki system zewnętrzny który tego wymagał i o tyle u nas user mógł nazywać się “12345Lenk0wski” tak w zewnętrznych systemach już niespecjalnie 😅 Ale co do zasady, faktycznie masz rację!
@@lenkowski-net podobnie jest z adresem, zwłaszcza międzynarodowym, jakakolwiek próba wciśnięcia go w formularz prędzej czy później skończy się katastrofą ale gdy zewnętrzny system ma jakieś wymagania to musisz się do nich dostosować, wbrew zdrowemu rozsądkowi i czasem odcinając część użytkowników...
@@lenkowski-net nawet bez walidacji wsadzenie tak różnorodnych danych w kilka określonych pól może być niemałym wyzwaniem niestety wygląda na to, że większość systemów, z którymi się integrujemy powstaje na rynkach lokalnych bez uwzględnienia problemów z użytkownikami międzynarodowymi i w miarę wzrostów starają się je łatać, ale istniejące już imiona, nazwiska, miasta i ulice ciążą i pewnego dnia przyjdzie użytkownik bez nazwiska i z adresem posiadającym nazwę ulicy i nazwę (nie numer) posiadłości, zbyt długą by zmieściła się nawet w nasze dość powszechne 111B
@@Z4KIUS no tak, ale tutaj znowu piszesz trochę bardziej o Dtosach niż VO a tych w systemach - właśnie w tym celu, może być nieco więcej - bo tego wymaga 3th party :) Co do tych przypadków - 100% zgoda - live is brutal, full of zasadzkas :)
Fajny content! Na maxa przydałoby się jakieś mini repo, gdzie możnaby na spokojnie przejrzeć pliczek. Ja wiem, że może proszę o zbyt wiele, ale jak już i tak to kodzisz to pushnąć to do otwartego repo może byłoby jednak w zasięgu? ❤
"Bolom" oczy i "muzg" od oglądania tego tutaj z tymi przybliżeniami, przyspieszeniami itp. choć oczywiście wiem, że z pewnością robisz to i tak najlepiej jak się da, za co dziękuję 👍🏻🙂 taki tylko luźny pomysł 🙂
Dzięki za sugestię, faktycznie, ciągle zapominam o tym 😅
Nie wiem jak u innych, ale te przybliżenia kodu powodują u mnie chorobę lokomocyjną :)
To było najgorzej zainwestowane kilkaset złotych 😂
Czy jak piszę w livewire z alpine js to te wszystkie rzeczy są użyteczne czy raczej się ich nie używa? Chodzi mi też o te wzorce itp. bo jak na razie nie spotkałem się z tym...
Jeśli piszesz we frameworku, to jesteś od niego uzależniony. To od Ciebie zależy jak piszesz faktyczną logikę, ale co do zasady powinna być ona kompletnie oddzielona od szczegółów jakim jest livewire.
Koniecznie zobacz mój film o tym dlaczego MVC jest kiepskie, oraz film o architekturze warstwowej - myślę że pomoże 🔥
Dzięki, jak zwykle za dobry materiał. Przy okazji mam pytanie. Załóżmy, że potrzebuję tworzyć obiekty, które są mutowalne ale zawierają również jakąś logikę w sobie. Co w takim przypadku? Korzystamy z DTO a logikę zawieramy w jakimś serwisie, walidatorze?
Na to pytanie powinny odpowiedzieć zasady GRASP. Ciężko mi to ocenić, bo pytanie brzmi kto w tej sytuacji posiada jakie dane, ale prawdopodobnie przed utworzeniem obiektu zweryfikowałbym jego poprawność (tam gdzie tworzę instancję - nie w DTO)…
Ale na to pytanie nie potrafię jednoznacznie odpowiedzieć, gdy nie znam pełnego kontekstu.
Pytanie - czemu obiekt musi być mutowalny? Może to nie DTO a prosta kolekcja czy jeszcze inny twór 🤔
@@lenkowski-net Dzięki za odpowiedź. Moje pytanie było mocno teoretycznie i też żaden konkretny przypadek nie przychodzi mi obecnie do głowy :)
Te wstawi z memami spoko opcja ;)
Dobra, będzie więcej 😂
Film na końcu implementuje VO, ale utworzony jest w katalogu dto.... to co to właściwie jest bo się zgubiłem?
VO, faktycznie katalog się nie zgadza - dzięki za komentarz 😅
A czemu VO - na to odpowiedź jest w filmie 🍿
wiem, że "nazwisko" to po prostu przykład, ale generalnie jakakolwiek walidacja nazwiska jest złym pomysłem, więc takie pole to po prostu string
ba, w miarę możliwości (brak integracji z zewnętrznymi systemami) najlepiej mieć po prostu jedno pole typu full legal name i ewentualnie drugie "jak chcesz żeby się do ciebie zwracać w komunikacji nieformalnej", oba bez walidacji
Czasem tak, czasem nie.
Co jeśli ktoś chce za nazwisko podać znaki specjalne (i nie mówię o niemieckich umlautach)? Oczywiście - to zależy od case’a, ale miałem taki system zewnętrzny który tego wymagał i o tyle u nas user mógł nazywać się “12345Lenk0wski” tak w zewnętrznych systemach już niespecjalnie 😅
Ale co do zasady, faktycznie masz rację!
@@lenkowski-net podobnie jest z adresem, zwłaszcza międzynarodowym, jakakolwiek próba wciśnięcia go w formularz prędzej czy później skończy się katastrofą
ale gdy zewnętrzny system ma jakieś wymagania to musisz się do nich dostosować, wbrew zdrowemu rozsądkowi i czasem odcinając część użytkowników...
Pamiętaj też, że Vo to otypowanie danej, validacja nie jest absolutnie konieczna (np. ID encji domenowej)
@@lenkowski-net nawet bez walidacji wsadzenie tak różnorodnych danych w kilka określonych pól może być niemałym wyzwaniem
niestety wygląda na to, że większość systemów, z którymi się integrujemy powstaje na rynkach lokalnych bez uwzględnienia problemów z użytkownikami międzynarodowymi i w miarę wzrostów starają się je łatać, ale istniejące już imiona, nazwiska, miasta i ulice ciążą
i pewnego dnia przyjdzie użytkownik bez nazwiska i z adresem posiadającym nazwę ulicy i nazwę (nie numer) posiadłości, zbyt długą by zmieściła się nawet w nasze dość powszechne 111B
@@Z4KIUS no tak, ale tutaj znowu piszesz trochę bardziej o Dtosach niż VO a tych w systemach - właśnie w tym celu, może być nieco więcej - bo tego wymaga 3th party :)
Co do tych przypadków - 100% zgoda - live is brutal, full of zasadzkas :)
TL;DW?
instagram.com/reel/DA07P3KAac3/?igsh=NzEzeDI3azF4aWR1