ValueObject vs Dto - subtelna czy wielka różnica?

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น • 25

  • @ama0enta
    @ama0enta หลายเดือนก่อน

    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ł 🙂

    • @lenkowski-net
      @lenkowski-net  หลายเดือนก่อน +1

      Dzięki za sugestię, faktycznie, ciągle zapominam o tym 😅

  • @1234321marty
    @1234321marty 2 หลายเดือนก่อน +3

    Nie wiem jak u innych, ale te przybliżenia kodu powodują u mnie chorobę lokomocyjną :)

    • @lenkowski-net
      @lenkowski-net  2 หลายเดือนก่อน

      To było najgorzej zainwestowane kilkaset złotych 😂

  • @k0wu705
    @k0wu705 2 หลายเดือนก่อน +1

    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...

    • @lenkowski-net
      @lenkowski-net  2 หลายเดือนก่อน

      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 🔥

  • @Adam-fi2yc
    @Adam-fi2yc 2 หลายเดือนก่อน +1

    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?

    • @lenkowski-net
      @lenkowski-net  2 หลายเดือนก่อน +1

      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 🤔

    • @Adam-fi2yc
      @Adam-fi2yc 2 หลายเดือนก่อน

      @@lenkowski-net Dzięki za odpowiedź. Moje pytanie było mocno teoretycznie i też żaden konkretny przypadek nie przychodzi mi obecnie do głowy :)

  • @xarek24g
    @xarek24g 2 หลายเดือนก่อน

    Te wstawi z memami spoko opcja ;)

    • @lenkowski-net
      @lenkowski-net  2 หลายเดือนก่อน

      Dobra, będzie więcej 😂

  • @KOROFcom
    @KOROFcom 2 หลายเดือนก่อน

    Film na końcu implementuje VO, ale utworzony jest w katalogu dto.... to co to właściwie jest bo się zgubiłem?

    • @lenkowski-net
      @lenkowski-net  2 หลายเดือนก่อน

      VO, faktycznie katalog się nie zgadza - dzięki za komentarz 😅
      A czemu VO - na to odpowiedź jest w filmie 🍿

  • @Z4KIUS
    @Z4KIUS 2 หลายเดือนก่อน +1

    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

    • @lenkowski-net
      @lenkowski-net  2 หลายเดือนก่อน

      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ę!

    • @Z4KIUS
      @Z4KIUS 2 หลายเดือนก่อน +1

      @@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
      @lenkowski-net  2 หลายเดือนก่อน

      Pamiętaj też, że Vo to otypowanie danej, validacja nie jest absolutnie konieczna (np. ID encji domenowej)

    • @Z4KIUS
      @Z4KIUS 2 หลายเดือนก่อน +1

      @@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

    • @lenkowski-net
      @lenkowski-net  2 หลายเดือนก่อน

      @@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 :)

  • @kezy2695
    @kezy2695 2 หลายเดือนก่อน

    TL;DW?

    • @lenkowski-net
      @lenkowski-net  2 หลายเดือนก่อน

      instagram.com/reel/DA07P3KAac3/?igsh=NzEzeDI3azF4aWR1