The Flyweight Pattern Explained and Implemented in Java | Structural Design Patterns | Geekific

Поделиться
HTML-код
  • Опубликовано: 25 окт 2024

Комментарии • 36

  • @alooooshm
    @alooooshm 2 года назад +29

    Dude in 7mins you are delivering more value than that delivered in a 3-hour lecture...! Thx

    • @geekific
      @geekific  2 года назад

      Thank you! This means a lot :)

    • @mishaaskar
      @mishaaskar 5 месяцев назад

      @@geekific funny enough my OOP class in uni pretty much copied this playlist word by word for any explenation about design patterns

  • @RyanJones-qo2hn
    @RyanJones-qo2hn 2 года назад +9

    This video is amazing. What I really appreciate is your ability to articulate WHY we would use this pattern. As a beginning computer programmer, this is helping me properly contextualize the content to make it more "sticky" in my head. Thank you so much for sharing your knowledge with the world!

    • @geekific
      @geekific  2 года назад +2

      When I was in your shoes I had the same struggles :) and while making the videos I try to answer: "I wish someone explained to me this and that at the time...". Am so glad the videos are helping you! Cheers!

  • @ThanhNguyen-qk2zb
    @ThanhNguyen-qk2zb Год назад

    Very nice and clear video for me. Thank you very much, sir! I can now understand this pattern in 7mins

  • @harveynorman8787
    @harveynorman8787 Год назад

    This is a very good explanation of flyweight. Thumbs up

  • @webpulseify
    @webpulseify Месяц назад

    Great tutorial! I don't think we'll need this pattern as much compared to other structural design patterns like Facade or Bridge. However, the strategy behind this pattern is quite important.

    • @geekific
      @geekific  28 дней назад

      Glad it helped! It sure is :)

  • @mirageman2
    @mirageman2 2 года назад +1

    Hi, this is the best flyweight explanation i could find on youtube (the other ones were horrible to be honest).

    • @geekific
      @geekific  2 года назад +1

      Glad it was helpful!

  • @Sarah-zo2ys
    @Sarah-zo2ys 2 года назад +1

    This was very easy to understand, thank you!!!
    😁

    • @geekific
      @geekific  2 года назад +1

      I'm so glad it was :)

  • @nicholastreurnicht
    @nicholastreurnicht 4 месяца назад

    UNISA COS2614 students should be watching these videos. Very useful man

  • @michaelgoppelt3326
    @michaelgoppelt3326 2 года назад

    Great content. You deserve more followers

    • @geekific
      @geekific  2 года назад +1

      I appreciate that! Glad you liked it :)

  • @nadavshemesh1231
    @nadavshemesh1231 11 месяцев назад

    I don't know if its intentional or not, but the style of these videos is similar to the Portal 2 aperture science instructional parts (even the voice resembles the voice acting in Portal Stories: Mel).
    Regardless, I LOVE this style! Thank you.

  • @freeopensource
    @freeopensource 2 года назад +1

    This one was good. Thanks for helping me out !!
    Also explaining on slides with code example helps understand betterr (which this one was) rather typing in real time and swithching multiple screen.

    • @geekific
      @geekific  2 года назад

      Thank you! Happy it helped :)

  • @elmatador5459
    @elmatador5459 2 года назад +1

    Hey ! Great explanations, thanks !
    In the bookfactory, why do you only compare the type and not all the intrinsic values? If I understand correctly, there will be only once the type "action" and once the type "Fantasy" without caring about the different distributors and otherdatas.
    Thanks for your answer.

    • @geekific
      @geekific  2 года назад +1

      A better name for it would be BookTypeFactory I guess! Sorry for the confusion :) And we are doing that because the attributes stored inside the Type are what is being repeated between books, the others may vary. Hope this helps!

    • @elmatador5459
      @elmatador5459 2 года назад

      @@geekific Thank you for your answer and especially the quality of your video !

  • @ekathe85
    @ekathe85 Год назад

    Nice and very clear! Just one question... does the flyweight pattern contemplate any particular sort of data structure when storing already created flyweights, something like a recursive tree?

    • @geekific
      @geekific  Год назад +1

      Happy to be of help! It depends on your use-case, however, Maps are the most popular because of the ability to retrieve an object in constant time by value :)

  • @kaanefe4266
    @kaanefe4266 7 месяцев назад

    God bless you!

  • @yotamarker
    @yotamarker 10 месяцев назад

    please do a video about the livingrimoire AGI software design pattern

  • @atharv9924
    @atharv9924 Год назад

    I thought I understood from the video but when I saw your implementation code in github it doesn't match to the class diagram in video. This leads to more confusion. For example there is no 'Store' class in video and in 'Book' and 'BookType' class there are no methods as shown in video, could you please explain? Also, 'BookType' which is in 'BookFactory' class but not imported, not sure how the code even compiled in the first place?
    Though appreciate your efforts to explain the concept easily! Thanks.

    • @geekific
      @geekific  Год назад

      Glad I could help!
      - There is a store class in the GitHub repo plz have another look...
      - There are no methods in the Book and BookType classes in the video as well...
      - No need to import it because they are in the same package...
      Cheers!

    • @atharv9924
      @atharv9924 Год назад

      @@geekific Thanks for the response. Let me frame questions well:
      - What does the 'Store' class represents in classdiagram?
      - Aren't the 'context' and 'operation' the methods in Book and BookType classes as shown in classdiagram?

  • @ricardovidal6550
    @ricardovidal6550 2 года назад

    Perfect

  • @mishaaskar
    @mishaaskar 7 месяцев назад

    did i just hear cache being pronounced cashue? 3:53

    • @saitejapln3191
      @saitejapln3191 6 месяцев назад

      yes

    • @hdbrot
      @hdbrot 11 дней назад

      No. For sure, "cashue" would be pronounced more like ['kæʃju] but he actually said [ka'ʃeː]. If you want a transliteration in cursed English spelling, then I would rather suggest "caché", as in "cliché". (Yes, I believe making it look like a French loanword is actually the best option here.)

  • @linuxshell8804
    @linuxshell8804 4 месяца назад

    Cashé

  • @sidekick3rida
    @sidekick3rida Год назад

    Thanks! Although, Java is one of the worst languages, especially for explaining computer science concepts.

    • @geekific
      @geekific  Год назад +1

      Glad I could help! Java is very verbose, that is why I actually find it easier to teach stuff with it!