Decorator Design Pattern | Low Level Design | OOPS | Java | Best Video to Understand

Поділитися
Вставка
  • Опубліковано 4 січ 2025

КОМЕНТАРІ • 47

  • @adhrit1426
    @adhrit1426 Рік тому

    Top notch explanation with great clarity. Thanks

  • @sandeepsinghchauhan1198
    @sandeepsinghchauhan1198 Рік тому

    Hi Riddhi, you are really great at explaining end to end in simple way... Please add other remaining design pattern videos as well. Thanks buddy.

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

    Great! helping me revising my OOP concepts as well as getting some insights on LLD and Design Patterns.

  • @ShwetaKarolMinhas
    @ShwetaKarolMinhas 9 місяців тому +3

    Great explanation !
    For all confused about why use decorator at all, please see that the decorators do not have an existence by themselves and are useful only in conjunction with the main product. Instantiating cheese just by itself has no meaning, it is not a burger type, it is an add on. It has to have a burger instance for it to exist. That's why decorator class and the reason why this is a 'structural' pattern.
    However, I do feel that the Builder pattern can be used by the client code to build the final add-on decorator product, and the 2 products - burger and add-on decorator can finally be processed. @rite2riddhi please comment on this question.

  • @yashwanthyerra2820
    @yashwanthyerra2820 2 місяці тому

    what would be the real use case in industry.
    i know few like text decorator in text based applications, ui development tools using components

  • @DileepV-on7wk
    @DileepV-on7wk 7 місяців тому

    great explanation ::Thanks

  • @JayShah_._._
    @JayShah_._._ 5 місяців тому +1

    Why do we need another abstract class birgerdecorator and not use the burger class itself ?

  • @pavittarkumarazad3259
    @pavittarkumarazad3259 2 місяці тому

    good code explanation

  • @ramyavineethh
    @ramyavineethh Місяць тому

    Superb

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

    great content 🎉

  • @girishgarg2816
    @girishgarg2816 Рік тому

    Same can also be done by Builder pattern. For eg: Builder.addCheese(true).build(). The builder would be part of the Burger abstract class and since TandooriBurger and ZingerBurger extend Burger, so they will also get the Builder.

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

    great video ...pls cover more design patterns

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

    Very nice video. Thanks for making it

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

    Understood! And also hungry now!😂

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

    ThankYou for this highly informative video. I have one question, Can you please tell why can't we use a Builder pattern here, to make the Burger with all extra toppings (where all different toppings implement an interface), and then appending / adding topping's description and cost with burger's description and cost with every topping added and then finally build the burger.

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

      Um you can. But this ideally seems a better way. Because most of the time your burger gonna contain null values. And in the cost() , there would be lot of null checks. Code readability :)

  • @deepalirathod4929
    @deepalirathod4929 9 місяців тому +1

    Please add more videos in this series .

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

    Hi, great content & explanation, appreciate it. How can I get the code you wrote? could you share it?

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

    Sir, are decorators always abstract? If it is festival time and we need to introduce some cost discounts, we can directly write the common function inside the decorator class instead of changing both cheese and mayonnaise classes.

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

    Great 💖

  • @travelnlearn
    @travelnlearn 5 місяців тому

    Nice video

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

    Didn't understand the use of Decorator abstract class here.. ExtraCheese class can also be the direct child of the Burger abstract class right? Am I missing something here 🤔

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

      I was also thinking the same doubt, why do we need to make an extra abstract class? if we can achieve the same result by just inheriting the burger class. But I think He is doing that, just for the sake of differentiation between burgers and decorators as well as the readability of code.

    • @dhandobykashyapkale
      @dhandobykashyapkale Рік тому

      @@obsessiveDreamer Makes Sense

  • @iamnoob7593
    @iamnoob7593 6 місяців тому

    Nice

  • @lovleshbhatt7797
    @lovleshbhatt7797 11 місяців тому

    what is the point of adding this BurgerDecorator , can't we directly do this in the ExtraChesse Class?

    • @rajrangwani5669
      @rajrangwani5669 11 місяців тому

      Currently doesn't seems to have use-case of BurgerDecorator, as it is just empty abstract class, but in some cases we might need this layer, let's say for coffee maker, there can be a chocolate topping and there can be multiple chocolate types like dark chocolate, standard chocolate, etc. and all these type of chocolates should have some common property of chocolate, in that case chocolateDecorator with common property of chocolate will be required an abstract class.

    • @girishdoddi7698
      @girishdoddi7698 7 місяців тому

      Here he added the burger object in both cheese and mayonnaise classes, but we can use decorator class to create the object right there without doing the same work multiple times in addons of cheese classes.

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

    Do we actually need the decorator class, I mean we can simply extend burger class for with cheese and mayo?

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

      Otherwise how would you differentiate a normal burger like a zinger burger and a burger decorator?

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

      @@rite2riddhi I think the decorator class may be needed if we need to add a decoration like smilies or any other shapes into our Burger. Correct me If I was wrong.

  • @manishasingh-de8hi
    @manishasingh-de8hi 7 місяців тому

    great explaination. Now I just feel like having a burger.

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

    Alternately, the Burger Decorator could keep a pointer to the Burger instance which would have been passed to it through it's constructor.
    Anyway, both seem fine.

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

      I wanted to know which is a good practice considering scalability/extensibility? Passing the burger instance by reference or passing the burger instance's copy? (By value)

  • @nallunallammai6493
    @nallunallammai6493 5 місяців тому

    Please put more low level design videos

  • @easward
    @easward Рік тому +1

    Not Cheese miyo, the explanation is butter

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

    codee dada?

  • @sayankarmakar13
    @sayankarmakar13 Рік тому

    Hey riddhi
    One suggestion is that please speak slowly and apart from this everything is good.

  • @mansinawani8970
    @mansinawani8970 11 місяців тому

    I want to eat zinger burger after watching this video.

  • @siddharthdutta2946
    @siddharthdutta2946 Рік тому

    We dont need watch memes or stupid video clips during the video.