Onion Architecture - Software Design Patterns Explained

Sdílet
Vložit
  • čas přidán 7. 09. 2024

Komentáře • 41

  • @GayanSanjeewaKarunarathne

    No fancy RGB background lights, no fancy cuts or animations. Only what's important: Knowledge delivered simply. Appreciate your video very much. Subscribed to get future videos 🙌

  • @user-bz3qr8zr8b
    @user-bz3qr8zr8b Před 7 měsíci

    Thank you, keep posting videos you have a easy going aura arround you and you ease people with your simple way of speaking!

  • @iarchetype
    @iarchetype Před rokem

    One of the better explanations out there. Thanks for this

  • @vitaliipaprotskyi3815

    This video should get more views. Very good explanation(the best I could found). Well done. Thanks a lot!

  • @solaaar3
    @solaaar3 Před rokem +1

    Really good video, i hope you'll continue to make the series (hexagonal, clean)

  • @novagepard
    @novagepard Před rokem

    Thanks for the explanation! This should have more views

  • @EthanMT88
    @EthanMT88 Před 4 měsíci

    Thanks you for sharing. It's very clear and useful for me.👍👍👍

  • @forrestcollins5159
    @forrestcollins5159 Před 2 lety +3

    This was a really good overview, especially considering the length. Framing Dependency injection as connecting/swapping similar puzzle pieces is a really intuitive way of expressing the concept. Only so much you can do in 10 minutes, but would have been nice to see more about inversion of control and how modeling software like this allows us to write durable tests for our application layer more easily. Looking forward to seeing what you put out in the future!

    • @alan-
      @alan- Před rokem

      Here's another great overview, in 4 mins: czcams.com/video/JubdZIdLQ4M/video.html
      Followed by a terrific explanation of Aggregates, Entities, Value Objects and Domain Events: czcams.com/video/xFl-QQZJFTA/video.html
      I'm not affiliated, I just found them really helpful

  • @zenoviondong7916
    @zenoviondong7916 Před rokem

    Thanks for the brilliant explanation 🙌🙌

  • @koka6414
    @koka6414 Před 2 lety

    Well done, waiting for more! 👍👍👍

  • @astronaut98
    @astronaut98 Před 2 lety +6

    Really nice job! So those puzzle piece holes that you mentioned: are those implemented using interfaces? Would love to see a real code example of how to achieve those holes and how boundaries are achieved (Dependency Inversion?)

    • @professionalprogramming8265
      @professionalprogramming8265  Před 2 lety +11

      Yeah so the hole would be an interface and the puzzle price would be an implementation. I wanted to keep it generic and language-agnostic for this first one but I definitely am planning on doing some much more specific code examples.

    • @astronaut98
      @astronaut98 Před 2 lety +1

      @@professionalprogramming8265 Awesome! Looking forward to it 😊

  • @chalu24
    @chalu24 Před 2 lety

    Awesome.. looking to see more videos :))

  • @mail2sixface
    @mail2sixface Před 2 lety

    Thanks bro, concept is clearly explained well.

  • @atif-riaz
    @atif-riaz Před rokem

    Excellent video with superb visulazation to explain it in a very simple and elegant way, Thanks a lot. As a side note would you like to share what tech gadget you are using for drawing and displaying those diagrams?

  • @rorycawley
    @rorycawley Před 8 měsíci

    Very nicely done.

  • @falconheavy595
    @falconheavy595 Před rokem

    thanks, at last some people who knows what they are talking about

  • @arpansthapit6547
    @arpansthapit6547 Před 2 lety

    Great Explanation !!!!!!!!! really apreciate it

  • @bradburrick
    @bradburrick Před 2 lety

    Thank you, this was great!

  • @Daejii96
    @Daejii96 Před rokem

    What an amazing explanation!!! Thank you so much!! +1 sub

  • @ederjuniordesouza1618

    Thank you for the great job, smashing the subscribe button

  • @KouroushMetal
    @KouroushMetal Před 2 lety

    Great Video! Thank You!

  • @RaniaAbdElrazik
    @RaniaAbdElrazik Před 2 lety +2

    i appreciate your content ,i love this video,thax
    Iwould like to know how u make video ,writing on screen and it appears on video in same time ,i like this

    • @professionalprogramming8265
      @professionalprogramming8265  Před 2 lety +5

      Thanks! I'm glad you liked it!
      For writing on the screen, I used the Microsoft Whiteboard app with a pretty basic pen input and just layered them together in OBS Studio using a luma key filter to remove the background.

    • @RaniaAbdElrazik
      @RaniaAbdElrazik Před 2 lety

      @@professionalprogramming8265 nice job thanks❤️

  • @dnsala
    @dnsala Před rokem

    thank you, really helpful!

  • @Ken-rt6sr
    @Ken-rt6sr Před 5 měsíci

    That's silly changing the db from say relational to NoSql won't ripple through the stack. Think of any application consuming a third party api that's consuming a database. The Api layer necessarily protects is meant to encapsulate / abstract details from the the client's using it

  • @rafaelfranco7643
    @rafaelfranco7643 Před 2 lety

    Nice!!! very good explanation.

  • @user-md4st5te2m
    @user-md4st5te2m Před 2 lety

    Thank you, great explanation

  • @viktorolsson2325
    @viktorolsson2325 Před 2 lety

    Very helpful, thanks!

  • @bigdino21
    @bigdino21 Před 10 měsíci

    Hii, what is the difference between Domain Serveces and Application Serveces in the onion architecture?

  • @sohamjoshi9527
    @sohamjoshi9527 Před 2 lety +2

    The jigsaw puzzle pieces are shown in the application layer, however the repository interfaces (also jigsaw puzzle pieces) are typically defined in the domain layer, so does this mean the domain layer also allows things to be plugged in like the repository implementations. In the diagram above the sql repository implementation is shown plugged into some application service but wouldnt it get plugged directly into the domain layer if the IRepository interface has been defined in that layer

    • @professionalprogramming8265
      @professionalprogramming8265  Před 2 lety +2

      Where to put repository interfaces is open for a bit of a debate. Sometimes you'll see a "Domain Services" layer in-between the domain layer and the application layer which contains repository interfaces, sometimes they'll be inside the domain layer itself. The most important thing is to put interfaces close to the code which uses them. I personally like thinking about repositories as being fundamentally no different than any other service used by the application layer. This keeps the "domain" very pure and free from concerns like data persistence. At times, though, data persistence might be so important to the modelling of the domain that it would make sense for it to be at a lower level.

    • @sohamjoshi9527
      @sohamjoshi9527 Před 2 lety

      @@professionalprogramming8265 Thanks agree

  • @A.Almatrodi
    @A.Almatrodi Před rokem

    Thanks so much. Excuse me for my ignorance. If I buld a projct with MVVM architecture, am I doing the same concept?. Is a kind of such a relation between Conceptual and Physical.

  • @olehposhelugniy18
    @olehposhelugniy18 Před 2 lety

    Well, if significant change is done to the database then no mater which architecture type it is (traditional or an onione one) the change will likely also affect a businnes layer.
    However, using repository patter to abstract out data from its persistance can signifficantly help (again, no mater archotecture type it is).
    Thanks for the video!

  • @rorycawley
    @rorycawley Před 8 měsíci

    Event Sourcing.