Value Objects

Поділитися
Вставка
  • Опубліковано 20 сер 2024

КОМЕНТАРІ • 33

  • @AlexLavrik
    @AlexLavrik 4 місяці тому +1

    Best ever explanation of Value Objects!

  • @nilpunch2
    @nilpunch2 3 роки тому +5

    Just thank you. Really, thank you for the great explanation. You put a lot of work into it, and it's worthy of respect. You are cool, I will be very happy to watch more videos about DDD from you.

    • @CodingConcepts
      @CodingConcepts  3 роки тому +1

      Thank you for the nice comment. I really appreciate it. I’m glad you enjoyed the video.

  • @psychotrout
    @psychotrout 3 роки тому +4

    "I really hope you found some value inside this video" yes, Value Objects :D

  • @MohitSharma-tn5mf
    @MohitSharma-tn5mf 3 роки тому +4

    Nicely explained. Great Video. Please make more videos on DDD.

  • @javierolazaran7227
    @javierolazaran7227 3 роки тому +3

    Very well explained. I hope you continue creating content.

  • @fagnersales532
    @fagnersales532 3 роки тому +2

    Vídeo incrível, adorei! Abraços do Brasil :)

  • @adamnorman85
    @adamnorman85 2 роки тому +1

    Really helpful 👌

  • @supa.scoopa
    @supa.scoopa 8 місяців тому +1

    Brilliant videos!

  • @ruslanustiuhov5510
    @ruslanustiuhov5510 3 роки тому +1

    Thank for awesome video!

  • @dimpho.ngache
    @dimpho.ngache 11 місяців тому +1

    Great content

  • @bhaveshverma8629
    @bhaveshverma8629 3 роки тому +2

    Bro very very thanks for the video

  • @clemhamon1935
    @clemhamon1935 2 роки тому +1

    Great video, it deserves more views ;)

  • @sneakytiki89
    @sneakytiki89 3 роки тому +1

    Great vid! Also reading this Eric Evans book you mentioned and was confused at this part. Thank you for the clarification :)

    • @CodingConcepts
      @CodingConcepts  3 роки тому

      I appreciate the nice comment and you’re welcome.

  • @ksdekamil
    @ksdekamil 2 роки тому +1

    amazing

  • @FlorinAsavei
    @FlorinAsavei 3 роки тому +1

    I finally got it! Thank you!

  • @MrHyde-kc3dv
    @MrHyde-kc3dv 3 роки тому +1

    nice tx

  • @worddoc4322
    @worddoc4322 3 роки тому +1

    Dude, well done!

    • @CodingConcepts
      @CodingConcepts  3 роки тому

      Thank you. Glad you enjoyed it.

    • @worddoc4322
      @worddoc4322 3 роки тому

      @@CodingConcepts Are you going to dive deeper into DDD and explain such things like Domain, Aggregator and so on?

    • @CodingConcepts
      @CodingConcepts  3 роки тому +1

      @@worddoc4322 Yeah. The plan as of now is to run through more DDD concepts.

  • @danieljoseph1122
    @danieljoseph1122 3 роки тому +1

    Thanks , Got clarified

  • @dijaymatic8005
    @dijaymatic8005 2 роки тому +1

    How does this relate to aggregates, aggregate roots and entities

    • @CodingConcepts
      @CodingConcepts  2 роки тому +2

      It all depends on the context of your problem. A common example I like to use to explain these is money.
      Value Object: Value objects are void of identity, and are all about measuring and quantifying things. If you have $5, you don't care which five dollar bill you have in relation to all the five dollar bills in circulation, just the fact that you have $5.
      Entities: Now consider money within the context of the government responsible for creating the actual dollar bills. Each five dollar bill has an identity within this context as we're interested in tracking all the five dollar bills created and create a unique serial printed on each bill. We would treat money as an entity because money has an identity in this scenario.
      Aggregates: Aggregates are a cluster of related objects that we treat as a unit for the purpose of data changes. Aggregates are also responsible for enforcing invariants, which are conditions that must be true before performing an action.
      Aggregate root: The aggregate root is the entity you choose within your aggregate to be the entry point of your aggregate. Other objects within your domain can hold references to only the aggregate root and not the internal entitles. All actions that need to be taken against your aggregate must happen through the aggregate root.
      Consider an example of Money, Accounts and Bank objects and you want to perform a $100 withdrawal. We could create an aggregate with these three objects with the Bank object being the aggregate root.
      That means you would perform your withdrawal through the bank object. The aggregate would then enforce the invariants, perhaps checking your account if you have enough money to perform the withdrawal. And if you do, it would dispense the money and appropriately reduce your account.
      The key thing to note here is the interactions with the account and money objects are internal to the aggregate and you're accessing the aggregate through the bank aggregate root.
      Hope this helps clear things up for you.

  • @andrewpullins8817
    @andrewpullins8817 3 роки тому +1

    Your thumbnails are very bad. The reason being is if you look at UA-cam playlists they have black transparent rectangles to the right with white text. I almost did not click on this video because I thought it was a playlist and did not want to watch many videos on this subject.

  • @jongrover8763
    @jongrover8763 2 роки тому

    I think, data oriented people trying to understand information.