DDD Explained in 9 MINUTES | What is Domain Driven Design?

แชร์
ฝัง
  • เผยแพร่เมื่อ 3 ก.ค. 2024
  • Domain Driven Design (DDD) is one of the pillars of object oriented software development. You must understand it really well if you want to produce future proof code and designs. In this video, we cover the basic of Tactical and Strategic DDD.
    A domain is the subject of a software system or application. A model is a simplified and structured abstraction that maps and documents everything of interest in the domain. In the tactical design phase, we use Entities, Value Objects, Associations, Aggregates, Factories and Repositories. In the strategic design phase, we use Bounded Contexts and Context Maps.
    Transcript of this video for future reference: news.marcolenzo.eu/p/domain-d...
    🤓 There's more on my website! (articles, scripts, code snippets, etc...): 🤓
    marcolenzo.eu/
    🤝 Connect with me: 🤝
    / marcolenzo
    👌Get a CodeCrafter Discount 👌
    app.codecrafters.io/join?via=...
    0:00 Intro
    1:53 Tactical DDD
    6:39 Strategic DDD
    9:12 Conclusion
    #ddd #softwaredevelopment #softwarearchitecture #softwaredesign
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @jonbellamy
    @jonbellamy 10 หลายเดือนก่อน +4

    This is a really, really good introduction to DDD concepts for someone looking into it for the first time. Thank you!

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

      Glad it was helpful!

  • @tassisto
    @tassisto 7 หลายเดือนก่อน +3

    Man, I'm so happy I found your channel.

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

      Thank you!

  • @powell.christopher
    @powell.christopher ปีที่แล้ว +2

    That was really good content. Explained in a straight forward and easily digestible way. Really appreciate the book reference as well. Thank you.

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว

      Thank you for the support

  • @eduardoartil
    @eduardoartil ปีที่แล้ว +1

    Great content. Concise and very rich.

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว +1

      Thank you very much for the feedback!

  • @sandorfarkas7509
    @sandorfarkas7509 9 หลายเดือนก่อน +1

    That was very good and understandable, thank you! :)

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

      Thank you 🙏

  • @HideBuz
    @HideBuz 19 วันที่ผ่านมา +1

    Your videos are concise and animations very well made! Bravo. I am learning so much?

    • @MarcoLenzo
      @MarcoLenzo  15 วันที่ผ่านมา

      Happy to hear that! Recently I had to take a small break but I'm coming back with more educational content!

  • @rammehar5531
    @rammehar5531 ปีที่แล้ว +1

    Very well explained thankyou

  • @DevOpsHasan
    @DevOpsHasan ปีที่แล้ว +1

    Thank you for this great content. Please share videos on Solid, OOP and clean code explanation.

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว

      I will. Thank you for the feedback 🙏

  • @IasonOrlandosOx
    @IasonOrlandosOx ปีที่แล้ว +2

    Great information ! thanks keep up the good work

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว +1

      Thank you! It's really appreciated!

  • @tranhuy5799
    @tranhuy5799 ปีที่แล้ว

    can you compare DDD to Entity Trap? DDD will split system by each business logic together, then Entity Trap is doing that too?

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว +1

      In this video I kinda answer this question. th-cam.com/video/gtZIaSxRkS4/w-d-xo.html The idea is that using DDD you should map a microservice to a Bounded Context and not a single Entity. You need cohesion within the service and low coupling with the other contexts. I always remain shocked when I hear organizations mentioning they have systems with 1500+ services as I cannot fathom how small they must be to get to that number (e.g. Netflix, Financial Times...).

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

    Very helpful video for introduction to DDD. Just adjust a background music as your english pronunciation is hard to catch and requires polish.

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

      Yeah I know. In most recent videos I manually corrected all the subtitles and reduced the background music.
      I'll invest time fixing the subtitles also on older videos.
      Thank you for the honest feedback. It's really appreciated

  • @tharun8164
    @tharun8164 ปีที่แล้ว +1

    Spent a lot of time learning tactical design only to realise that no real projects actually use this design approach. I primarily worked on Java Spring boot projects and unfortunately, it borrows DDD terms like Entities, Repositories but uses them for different purposes. For ex: Java's entity is the Database table rather Domain entity. Nevertheless, I find the ideas & intentions of DDD to be useful in a generic sense.

    • @MarcoLenzo
      @MarcoLenzo  ปีที่แล้ว +2

      I think modern frameworks reduced barrier to entry when it comes to programming. A junior programmer can write an API and persist data in few minutes using Spring Boot and their Initializr. But that also means that less time is spent on modelling. The result is anemic models. For example I often see validation in the controller layer while the model underneath is just getters and setters. I think it depends a lot on the individuals you get in your team.

    • @WahidRezgui
      @WahidRezgui ปีที่แล้ว +1

      ​@MarcoLenzo that's Wright anyone can persist data using orm but not every one can design a hole system . For me personally big project not following ddd and using anemic models is potentially a failing project

  • @anzeigeistraus2845
    @anzeigeistraus2845 3 หลายเดือนก่อน +1

    the sound in the background is disturbing

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

      Yes. It was one of my first videos and I made a mistake putting the background music too loud. In recent videos I either put it lower or remove it completely.