Value Objects

Ғылым және технология

A simple guide to effectively using Value Objects in Domain Driven Design for richer, more cohesive code.
Let's Connect 🤝:
codingconcepts.io/connect

Пікірлер: 33

  • @AlexLavrik
    @AlexLavrik4 ай бұрын

    Best ever explanation of Value Objects!

  • @CodingConcepts

    @CodingConcepts

    4 ай бұрын

    Thank you!

  • @psychotrout
    @psychotrout3 жыл бұрын

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

  • @MohitSharma-tn5mf
    @MohitSharma-tn5mf3 жыл бұрын

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

  • @dimpho.ngache
    @dimpho.ngache10 ай бұрын

    Great content

  • @fagnersales532
    @fagnersales5323 жыл бұрын

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

  • @javierolazaran7227
    @javierolazaran72273 жыл бұрын

    Very well explained. I hope you continue creating content.

  • @adamnorman85
    @adamnorman85 Жыл бұрын

    Really helpful 👌

  • @nilpunch2
    @nilpunch23 жыл бұрын

    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 жыл бұрын

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

  • @clemhamon1935
    @clemhamon19352 жыл бұрын

    Great video, it deserves more views ;)

  • @ruslanustiuhov5510
    @ruslanustiuhov55103 жыл бұрын

    Thank for awesome video!

  • @supa.scoopa
    @supa.scoopa8 ай бұрын

    Brilliant videos!

  • @ksdekamil
    @ksdekamil2 жыл бұрын

    amazing

  • @bhaveshverma8629
    @bhaveshverma86293 жыл бұрын

    Bro very very thanks for the video

  • @sneakytiki89
    @sneakytiki893 жыл бұрын

    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.

  • @FlorinAsavei
    @FlorinAsavei3 жыл бұрын

    I finally got it! Thank you!

  • @CodingConcepts

    @CodingConcepts

    3 жыл бұрын

    You’re welcome!

  • @MrHyde-kc3dv
    @MrHyde-kc3dv3 жыл бұрын

    nice tx

  • @CodingConcepts

    @CodingConcepts

    3 жыл бұрын

    You're welcome

  • @danieljoseph1122
    @danieljoseph11223 жыл бұрын

    Thanks , Got clarified

  • @CodingConcepts

    @CodingConcepts

    3 жыл бұрын

    You’re welcome

  • @worddoc4322
    @worddoc43223 жыл бұрын

    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 жыл бұрын

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

  • @dijaymatic8005
    @dijaymatic80052 жыл бұрын

    How does this relate to aggregates, aggregate roots and entities

  • @CodingConcepts

    @CodingConcepts

    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
    @andrewpullins88173 жыл бұрын

    Your thumbnails are very bad. The reason being is if you look at KZread 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.

  • @CodingConcepts

    @CodingConcepts

    3 жыл бұрын

    Thanks for the feedback.

  • @lopsanggrg

    @lopsanggrg

    3 жыл бұрын

    Exactly what I was thinking.

  • @jongrover8763
    @jongrover87632 жыл бұрын

    I think, data oriented people trying to understand information.

Келесі