Bridge Pattern - Design Patterns (ep 11)

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 พ.ย. 2024
  • Video series on Design Patterns for Object Oriented Languages. This time we look at the Bridge Pattern.
    💙 BUY MY BOOK:
    leanpub.com/th...
    ► The playlist
    • Design Patterns in Obj...
    ► Head First: Design Patterns
    geni.us/nlbA6
    ► Design Patterns: Elements of Reusable Object-Oriented Software
    geni.us/PsXmo
    ► Other things mentioned
    sourcemaking.c...
    💪 Patreon Community
    / christopherokhravi
    📚 Products I Recommend
    geni.us/71ZXF

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

  • @serafimsinaga
    @serafimsinaga ปีที่แล้ว +56

    it's 2023 and this series is still amazing

  • @zixuanzhang5950
    @zixuanzhang5950 4 ปีที่แล้ว +203

    2020 now. Still the best design pattern videos I've watched.

    • @Brunoenribeiro
      @Brunoenribeiro 4 ปีที่แล้ว +4

      same here

    • @JerryOmann
      @JerryOmann 3 ปีที่แล้ว +18

      2021 now. Still the best design pattern video-series in the universe! Thanks for this 🙏

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

      Guys, can anyone tell the difference between Strategy and Bridge? They seem so similar. Basically allow a class to define an implementation on runtime.
      Strategy is about encapsulating and plugging-in a behavior... But isn't Bridge doing the same here? The ConcreteImplementors are basically the strategies. What's the difference?

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

      @@JerryOmann Same here.

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

      Just try to understand which type of problem both design pattern solve, you will understand difference

  • @nailbomb420
    @nailbomb420 7 ปีที่แล้ว +148

    So glad to hear that you're expanding this series from its original scope. This is an excellent series, actually useful as a learning resource. Thanks a lot for your time dude, and really good job so far. :)

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 ปีที่แล้ว +18

      Thank you! And thank you for your very encouraging words of understanding. Helps to keep me going :) Thanks for watching.

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

      Great work dude !

    • @rayeesahmed3893
      @rayeesahmed3893 5 ปีที่แล้ว

      So. Worst ...video should be very short 5-8 mins .. should explain 1 1pattern in 1 video.. explain btech syllabus..

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

    Watched this in 2020 and 2024. Gold quality resource 😊

  • @jessecalato4677
    @jessecalato4677 4 หลายเดือนก่อน +1

    I've be developing software for 23 years and, have read both books, and know and have used all of these patterns. I came looking for good tutorials for my less experienced team members, and even with knowing this information already, I can't stop watching these, they are excellent resources.

    • @ChristopherOkhravi
      @ChristopherOkhravi  4 หลายเดือนก่อน +1

      Very happy to hear that. Thanks for sharing 😊🙏

  • @lmagiczlukas4891
    @lmagiczlukas4891 5 หลายเดือนก่อน +2

    I watch your tutorial when i was an intern employee, now as a senior level still watching your stuff. Appreciate it!

    • @ChristopherOkhravi
      @ChristopherOkhravi  5 หลายเดือนก่อน

      Congratulations on the growth! And thanks for watching 😊🙏

  • @biswajit-k
    @biswajit-k 2 วันที่ผ่านมา

    Bridge pattern is used in creating custom item recyclerview in android.
    Custom item recyclerview means that the recyclerview can contain different items like tiles, buttons, text.
    When I first saw the custom recyclerview implementation in an actual codebase, it took me a lot of time to understand how it was working, but when I did, I was able to appreciate its beauty.
    I have only just now realized that it was bridge pattern used in custom recyclerview and things are more clear.
    Huge thanks Chris for compiling such an amazing playlist. Your way of teaching is commendable.

  • @flaminiamazzitelli6017
    @flaminiamazzitelli6017 4 ปีที่แล้ว +3

    I will probably never thank you enough for these videos...! You explain things so clearly, I can spend days understanding a pattern then I watch your video and it just clicks and suddenly it's all clear. Thank you!!

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

    It's 2024, I was really confused about design patterns and your videos have cleared my concepts. Thanks!

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

    2022 now. Still the best design pattern videos man

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

    I learned from lot's of tutor all they do their best , but you are the best teacher, ...in starting I hate designed patterns because I didn't understood but after learning from I am fall In love with design pattern 😍💕

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

    Even though this playlist is 5-6 years old still the best out there. Thank you for this golden playlist.

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

    Thanks, the best design pattern tutorials on YT!

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

    Love the sound effects of heads exploding.
    Understood it about half way thru the example. Excellent explanation, can't wait for a reason to use it.

    • @arpitamandal1472
      @arpitamandal1472 5 ปีที่แล้ว

      Brilliantly explained.. thanks alot.. uml n pseudo code makes it more clear...

  • @azretkenzhaliev
    @azretkenzhaliev 2 ปีที่แล้ว

    2022 now. Still the best design pattern videos I’ve watched.

  • @TechLord79
    @TechLord79 7 ปีที่แล้ว +82

    You're like the Mr. Bean of programming ;D Great work - and as you would say, super-pedagogical example! :-)

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 ปีที่แล้ว +13

      Hahaha I have actually heard the Bean comparison before so I guess it must be true :) :) :) Anyways, thank you for the kind words and for watching the series :)

  • @Milording
    @Milording 7 ปีที่แล้ว +16

    The real thing about your explanations is that it's ok to be shortly distracted watching your video without loosing my train of thought.
    It's not necessary to be being in the full attention during whole video as in the case of classic university lectures.
    It's super helpful and the best thing for me.

  • @AmanGupta-wb2xh
    @AmanGupta-wb2xh 3 ปีที่แล้ว +1

    I am saved by this video... all 52 minutes with it

  • @babulbhanu8213
    @babulbhanu8213 4 ปีที่แล้ว

    The best teacher of design patterns till now .

  • @rhmoreira
    @rhmoreira 6 ปีที่แล้ว +3

    Thats another great video. I love your explanations.
    Basically i would differentiate Bridge Pattern from Adapter pattern as the following:
    Adapter pattern is meant for interoperability, where a call from the "Adapter interface" should be translated to a call to the "Adaptee Interface", in order to "plug" the calls transparently, so to speak.
    Bridge interface is meant for data extraction, or data combination, depending on the need. It's a bridge abstraction, relying on a implementor contract, to provide methods to access data, no matter what the implementation is.

  • @safvanp567
    @safvanp567 ปีที่แล้ว +5

    00:03 The bridge pattern is a part of the additional patterns mentioned in the book Design Patterns.
    01:48 The bridge pattern decouples an abstraction from its implementation.
    06:10 The Bridge Pattern decouples abstraction from implementation.
    08:30 The Cartesian product is a new set of all combinations of two sets.
    13:01 Different views and media types need to be handled in a flexible manner.
    15:13 The bridge pattern allows combining any arbitrary resource with any arbitrary view.
    19:14 Using the Bridge pattern reduces the number of classes needed to handle different combinations.
    21:23 The bridge pattern allows us to isolate the specifications of artist resources and view nests.
    25:43 The Bridge Pattern allows views to use specific methods from resources without breaking the interface segregation principle.
    27:52 Avoid duplicating behavior across different resources.
    31:38 The resources in the bridge pattern have different concretions.
    33:31 A view in the Bridge pattern can access a resource that behaves as a resource.
    37:17 Separating artist specific, book specific, and playlist specific functionalities into their own inheritance hierarchy.
    39:14 The video discusses the Bridge Pattern in design patterns.
    42:54 An artist resource implemented the interface IResource and adapted over an artist.
    44:46 The artist resource needs to delegate to a specific artist to get the required information.
    48:37 The Bridge pattern allows for separating platform-specific and platform-independent code.
    50:34 The bridge pattern allows a view to ask a resource for the information it needs to construct a particular view.

    • @nick.h7566
      @nick.h7566 11 หลายเดือนก่อน

      King 👑

  • @tugbakorkmaz2782
    @tugbakorkmaz2782 5 ปีที่แล้ว

    There is no word to describe how grateful I am to you for these videos

  • @TyPiEx
    @TyPiEx 3 ปีที่แล้ว

    This is literally the best design patterns video I ever watched on TH-cam

  • @Brominator15
    @Brominator15 4 ปีที่แล้ว

    I cant express how great you have explained this. 10 min into the video and I already understand it better than by any videos or tutorials I watched or read before. Thanks!

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

    Last time I watched your videos about 5-6 years ago and till now I watched a lot of other videos related to software engineering, but never saw someone explaining not like you, but even close to you.

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

    2023 and this is still the best resource for design pattern

  • @xerxes8075
    @xerxes8075 3 ปีที่แล้ว

    I watch your design patterns videos before breakfast and even before i return to bed at night, excellent job

  • @sarenodev
    @sarenodev 3 ปีที่แล้ว

    I would definitely recommend this series for learning Design Patterns to any friends and colleagues.

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

    Shout out from 2023! Thanks for taking the time to make these super helpful videos

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

    Thank you. I read the 'Design Patterns' chapter on Bridge and really couldn't understand how this was different from simple delegation or what problem it was actually trying to solve. I don't know if your interpretation is precisely the problem they are trying to solve, but it certainly gives me a good way of thinking about it that makes sense.

  • @mayurdugar03
    @mayurdugar03 3 ปีที่แล้ว +8

    2021: Still the best resource for Design Patterns!
    Love your efforts man! 🤓🙌

  • @elenazaytseva9196
    @elenazaytseva9196 5 ปีที่แล้ว +4

    Thank you very very much! I would never have imagined that I could understand patterns so deeply! You are the best teacher ever, really!!

  • @navjan13
    @navjan13 3 ปีที่แล้ว

    This has to be the hardest of all the patterns covered in this series yet. Will watch it twice. Thanks a lot for creating this series.

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

    2022 still the best design pattern videos!! I am really sad to see that you are not posting more videos like this that have you explain in a whiteboard very fundamental stuff! Really appreciate your teachings!!! Please comeback with topics like this! Love your whiteboard teachings!!

  • @thainarodrigues4605
    @thainarodrigues4605 3 ปีที่แล้ว

    I wish I had found this channel before because I never really understood this subject before I heard from this guy, thank u so so much!

  • @aaaaaaaaaaaaaaaaaaaaaaaa2788
    @aaaaaaaaaaaaaaaaaaaaaaaa2788 7 หลายเดือนก่อน +1

    Still 2024 and I watched all of your design pattern videos❤

  • @Pan-ux3bq
    @Pan-ux3bq 4 ปีที่แล้ว

    I bet this is the best explanation of the bridge pattern all over the youtube

  • @droidgirl
    @droidgirl 2 ปีที่แล้ว

    2022 and still the best series on Design patterns

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

    Thanks!!!
    I finally found a good example of how to apply this pattern. Very good explanation for the pattern.

  • @user-he1ce9fs3l
    @user-he1ce9fs3l 3 ปีที่แล้ว +1

    my prof recommended this video as a part of her lessons. this is honestly much better.

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

      I’m very glad to hear this is used in class as I use it in class myself 😊😊 Thanks for sharing and for watching 😊

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

    The best ever explanations of design patterns! You are awesome man! Please just don't stop recording new episodes. And your "code walk" series is really about those things that every programmer should think about. Do as many as possible, please :)

  • @zenstain
    @zenstain 5 ปีที่แล้ว

    This comes together exactly at 15:16. Very nicely explained.

  • @meduto9584
    @meduto9584 3 ปีที่แล้ว

    I was confused about the bridge pattern but now it's 100% clear ! thanks ! please continue this series

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

    Last moments of 2020, still the best design pattern explanations. Thank you master.

  • @simondavis1303
    @simondavis1303 3 ปีที่แล้ว

    This is what I understand to implement this pattern in React land:
    We have a base Card which is our Abstract View.
    Then we have concretions of this Card, ReadOnlyCard and ActionsCard.
    We get entities such as Artist or Song from our API.
    Then for example, we can then do a mapping exercise:
    Do a artists.map(artist => {
    })
    We can also just create an ArtistReadOnlyCard if we have a specific view to `show` for this card since it it might vary from a SongReadOnlyCard. These videos make me really think on how to create components that I can re-use in other apps and which ones are app specific components. Also entity specific components. This made me think about creating ReactHookForm specific components. Let's say I want to Create a LibPhoneField in order to compose this: TextField -> PhoneField -> LibPhoneField. I might be off topic now. Anyway great video!

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

    You're awesome!
    With your explanation, anyone has a grasp of Design Pattern.
    Thank you!

  • @καδωαας
    @καδωαας 2 ปีที่แล้ว

    king of design pattern tutorials

  • @noctilucera7585
    @noctilucera7585 3 ปีที่แล้ว

    First I just compared the length of your videos and the other pattern videos and thought " that's ridiculous" but, you sir managed to imprint it in my brain perfectly.
    You don't just explain well you do it in a way that sticks (Just like the head first books do).
    Kudos!

  • @johnnycash4588
    @johnnycash4588 6 ปีที่แล้ว

    This is literally the best video/explanation i ve seen about this topic (bridge)

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

    Cannot easily agree that resource is an implementation of a view (abstraction)
    Yet appreciate the effort to give a 🆒 real life examples explanation that is rich in context and easy to follow!

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 ปีที่แล้ว

      Very good point! Thanks :) It might make a bit more sense if we think about it as View (abstraction) and ResourceSpecificView (implementation), but again, this isn't *really* true because the latter *is* not actually a view, it is a resource. So I agree with you 100%. Imho it is the idea of decoupling the abstraction from the implementation (i.e. the usage of the terms abstraction/implementor) that is the culprit here. But I may definitely be wrong so hopefully I will come across some better example in the future :) Thank you very much for your comment! Very interesting :) And thanks for watching :)

  • @Qizot
    @Qizot 7 ปีที่แล้ว +48

    I love your voice and you as a person

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 ปีที่แล้ว

      Thank you :) And thank you for watching :)

    • @omack47
      @omack47 7 ปีที่แล้ว

      Hes faqin amazing!

  • @abdalrazagal-shrufat1299
    @abdalrazagal-shrufat1299 3 ปีที่แล้ว +1

    The reason of why the author used abstraction and implementation terms is :
    when the author say : decouple between abstraction and implementation, he means Resource(as an example) is abstraction and its implementation is View, because the View will use Resource and it will receive Resource implementation by its constructor using Dependency injection, so as you know the implementation belong to abstraction and in this example View has a reference to Resource, and technically View has implementation for Resource, so View is implementation of Abstraction Resource.
    it is my own vision of this definition, but i am not agree to use these terms like this because it might be confusing.
    thanks a lot for this explanation.

  • @hussein-akar
    @hussein-akar 3 ปีที่แล้ว

    Read both books but I still prefer the video demonstration ... Simply Most Amazing Simplified Design Pattern Videos !!!

  • @romanworker995
    @romanworker995 4 ปีที่แล้ว

    as well as the previous patterns, you've provided best description.

  • @jurekszymanski4843
    @jurekszymanski4843 4 ปีที่แล้ว

    Somehow I managed to understand Bridge pattern - perfectly clear. I did not have Heads first book... Thank you for the lectures!

  • @sirxavior1583
    @sirxavior1583 2 ปีที่แล้ว

    I had to read Head First Design Pattern yrs ago I find it entertaining and effective, If I recall there was that girl that was anti-pattern which helps you question why you should use the pattern in the first place and understand it better.

  • @Parazeta
    @Parazeta 5 ปีที่แล้ว

    As I am currently preparing for an exam I have to thank you a lot for the Spotify example. That made the whole concept so obvious to me. Mind blown!

  • @giveexamples
    @giveexamples 6 ปีที่แล้ว

    Man, you are making the programming more funny than before. The best tech video I have ever seen. Thanks for the all series.

    • @ChristopherOkhravi
      @ChristopherOkhravi  6 ปีที่แล้ว

      Thanks a lot! Glad you find the channel useful :)

  • @jimbyers3092
    @jimbyers3092 3 ปีที่แล้ว

    You rock, man! From what videos of yours I have seen, you offer very lucid and memorable explanations of design patterns. I especially appreciate that you show your own process of understanding--this saves us or greatly lightens a learner's process needed to reach the moment of clarity when we understand a concept in our own mental framework and can then see potential as to how we could use it in our own circumstances. That is, you take the process down to your personal level, a level we eventually have to take learning--this much better than tossing us data somewhat like a Wikipedia article for us to ponder...and ponder, i.e., "leave it to the reader to figure out". In other words, you help us to faster reach paths in our own way of understanding by walking through your own paths and sometimes how you got there. Thank you!

  • @johnny5gr
    @johnny5gr 7 ปีที่แล้ว

    This is what I call talent. Best explanation ever. Thx man!

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

    Great way of explaining the design pattern. I understood the example but as you said at the end, it would be great if you could also list few other scenarios where this pattern would be applicable.

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

    This is my second revision of this series and again I'll say what an explanation!!!! Great job bro...

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

    Finally I understood what is that Bridge pattern about! Thanks a lot!
    P.S. Understood it on the mark of 30-40% of the video, because I really used it already in my work, but didn't understand that I did.

  • @TheOttoBot
    @TheOttoBot 7 ปีที่แล้ว

    Man I finally understand this pattern. It is actually extremely simple but it was described in such a confusing way at my university. Great job!

  • @chrisjust7445
    @chrisjust7445 7 ปีที่แล้ว +4

    Thanks. Now that I know what the Bridge pattern is, I see I've been using it for years. :) I guess it's one of those patterns that evolves naturally when you start holding references to interfaces instead of actual classes.

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 ปีที่แล้ว +6

      Omg I'm editing the upcoming video currently and I make exactly that statement in the video :) I.e. that the bridge pattern probably is a natural evolution/conclusion from simply programming to interfaces/abstractions. So I couldn't agree with you more :) :) Thanks for watching and for sharing :) :)

  • @godnonamesleft
    @godnonamesleft 5 ปีที่แล้ว

    This was the first video of yours that I have watched and you presented it very well. I was reading about this pattern for hours and couldn't really grasp it but with your help I think I have obtained a pretty solid grasp of it. Thank you!

  • @claucometa
    @claucometa 3 ปีที่แล้ว

    I was able to codify in .net this pattern thanks to you, very simple pattern indeed, once you get the grasp of it. The explanations and definitions about it are hard / nonsense though. I went one step further and made the Bridge to implement a generic, so I can use the bridge to implement whatever interface, which whatever return type.

  • @hammadpervez4568
    @hammadpervez4568 3 ปีที่แล้ว

    You are really amazing, I even don't have words to explain How amazing your way of teaching is. I'm totally inspired by you.

  • @aniketb2010
    @aniketb2010 6 ปีที่แล้ว

    This actually is the best pattern at least to understand abstraction. I also understood the use of Interfaces really well when I understood this pattern.

  • @brianedwards30
    @brianedwards30 3 ปีที่แล้ว

    I got here by searching for bridge pattern deep dive. This is a must watch.

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

    The enlightenment/ the moment of Ahaa happened to me at 23:40 of this video. Thanks a lot!

  • @egoegoone
    @egoegoone 2 ปีที่แล้ว

    Your DP videos are seriously the best explanations anywhere. And I totally agree the definition of the bridge pattern is superconfusing. Especially because the “abstraction” in this case doesn’t need to be conceptually related to its “implementor”. Maybe I’m wrong but I see it as sort of a combination of template and strategy pattern.

  • @paulofernandoee
    @paulofernandoee 2 ปีที่แล้ว

    2022 now, still the best 😉 congratulations on the good job!

  • @Yasin-xn7yh
    @Yasin-xn7yh 6 ปีที่แล้ว

    Thanks Christopher Okhravi. It is interesting. Your explanation is in sync with my thought process.

  • @sshanzel
    @sshanzel 4 ปีที่แล้ว

    I think in simple terms, it is a "bridge" to enable you to access a specific resource (e.g. books, artists) for the thing that it wants to construct. Cos in strategy pattern it is the behaviour of the specific client that uses the strategy and in bridge, it polymorphs the target of the implementor of the interface.

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

    Great video. Suprised these aren't getting more views. I'm learning so much.

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

      Thanks :) I'm glad to hear. Feel absolutely free to share the video with friends ;) :)

  • @TheAhmadReza
    @TheAhmadReza 3 ปีที่แล้ว

    Great explanation! also, the video starts at 2:45

  • @fisherman7964
    @fisherman7964 4 ปีที่แล้ว

    Thank you! Really nice and clean explanation. I totally agree that the definition in the book is quite confusing but thanks to you I got the idea completely.

  • @gephestus
    @gephestus 4 ปีที่แล้ว +3

    Great thanks for making this series!! You make each pattern's goal and details super clear! One thing that upsets me regarding patterns is that i fail to see which patterns to apply when i am encountered with a real-life scenario. I mean sometimes i see a problem that needs to be solved, and my intuition says that it can be solved by using some pattern, but to pick correct pattern is pretty Hard...

    • @Brunoenribeiro
      @Brunoenribeiro 4 ปีที่แล้ว

      I think the "intent" of each pattern is what helps to choose the "right" one.
      If you trying to restrict access to something, you probably should use Proxy
      If you trying to simplify use, you probably should use Facade
      If you trying to avoid class explosion, you probably should use Decorator
      Also, I believe there's no *right* one. There's only the pattern that solves the problem, create few ones and works for the team

  • @konzinovmaverick4539
    @konzinovmaverick4539 7 ปีที่แล้ว +8

    Great Job man! This serie is a success

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

      +konzinov maverick Thank you for the encouragement. I'm glad to hear :) Thanks for sticking with it :)

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

    Just one thing that can makes easier and a small correction on what you mentioned on 36:45 of the video above. The thing is the views are dependent to the resource. The views can be taken as a view for smart phone, tablet and a normal computer display (for the sake of resolution mainly). These views are dependent to resources, while resources has no dependencies to these different types of display. That is a good example for Bridge pattern on why Front-end and Back-end are kept separately. Thanks :)

  • @lokeshratusaria6656
    @lokeshratusaria6656 4 ปีที่แล้ว

    Best explanation I have found so far. great work man

  • @pedrov8868
    @pedrov8868 2 ปีที่แล้ว

    Number of sets in the Cartesian product linearly increases O(n*m), where n, m are the sizes of the sets, maybe thinking of the size of the powerset for exponential increase. Great video!

  • @TJ-hs1qm
    @TJ-hs1qm ปีที่แล้ว

    strategy and bridge pattern look almost the same but while the strategy pattern uses composition to achieve its goals, it does not necessarily require the abstraction and implementation to be separated. In the bridge pattern, however, the separation of abstraction and implementation is a core feature of the pattern.
    so this is the key difference between the two.

  • @mdvasiullah8231
    @mdvasiullah8231 5 ปีที่แล้ว

    Hey Christopher, this one of the best explanations and examples I have ever come across on Bridge pattern. Thanks much for your efforts and a wonderful brain storming tutorial

  • @sovan107
    @sovan107 7 ปีที่แล้ว +4

    Thank you for making such valuable videos. These are going to be a great resource for developers.

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 ปีที่แล้ว

      +sovan misra Thanks! I'm glad to hear. We'll see if they'll stand the test of time :) :) Thanks for watching! :)

  • @sudhakarkumar8726
    @sudhakarkumar8726 4 ปีที่แล้ว

    Thank you, Christopher, it is really awesome, the way you explain using the real-world example. because of that only I was able to connect it to the problem that I faced before.

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

    Definitely an anti subclass explosion pattern, kinda like Decorator. While Decorator focuses on variations of similar concerns (type1, type2, type3, etc. and how to combine them), Bridge is used for orthogonal concerns (type1, type2 on one side and platformA, platformB on the other side and how to make combinations between types and platforms). Types and Platforms being the two orthogonal concerns.
    BTW the example in the GOF book is quite nice.

  • @nikhilj.r.9735
    @nikhilj.r.9735 4 ปีที่แล้ว +1

    Another great example of an application of this pattern would be the Spring MVC architecture, where views vary independently of the Model objects returned by various Controllers, and controllers are nothing but adapters of the database :)

  • @szabo369peter
    @szabo369peter 6 ปีที่แล้ว

    The number of elements in a Cartesian product does increase exponentially when one of the sets increases in size. That change is polinomial. The number of elements increases exponentially, when new sets are being put into the product itself (e.g. instead of A ⨯ B we have A ⨯ B ⨯ C).

    • @ChristopherOkhravi
      @ChristopherOkhravi  6 ปีที่แล้ว

      Errrrrr.... my bad. Thank you very much for clarifying that!

  • @vinodcs80
    @vinodcs80 7 ปีที่แล้ว

    Awesome as always, now I understand what is Bridge pattern about. Eagerly waiting for your next videos. Thanks you again.

  • @sushmitagoswami2033
    @sushmitagoswami2033 5 ปีที่แล้ว

    I love the way you explains the difference between Adapter and Bridge Pattern. Hope to see more videos may be some the real life application where we can fit different patterns.

  • @YuraZavadenko
    @YuraZavadenko 5 หลายเดือนก่อน

    You are The God of explanation

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

    New schedule is exciting! Thank you guy!

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 ปีที่แล้ว

      +Houjing Huang Glad to hear :) Thanks for watching :)

  • @tdrake59
    @tdrake59 6 ปีที่แล้ว

    In your example, the Resource hierarchy can be seen as a strategy pattern. And your concrete resources are adapters.

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

    I love this explanation for the Bridge design pattern, I've recently been strugling with some sort of similar issue and as long as the requirements grow I'm having a large cartesian product underlying in my implementation. I will apply this particular design pattern in the short term :)

  • @MartanJe
    @MartanJe 4 ปีที่แล้ว

    It is just a detail, but at 10:10 you said that number of elements exponentialy increases by increasing the number of elements of 2 sets A and B. But for two sets it is always quadratic. Cartesian product exponentially increase with the number of sets. (e.g. N x N x N ... ). Otherwise I love this series. Thank you for all the work you put to it.

  • @ZweiGenitalisten
    @ZweiGenitalisten 7 ปีที่แล้ว

    this is an absolutly prefect explanation for this design pattern. good job!

  • @attilanyiri7801
    @attilanyiri7801 3 ปีที่แล้ว

    Great videos Christopher! I really like all of them! It helped me a lot to understand these patterns through your examples and explanations!

  • @B47UH4N99
    @B47UH4N99 6 หลายเดือนก่อน

    This reminds me difference between multiplication and addition or permutation and combination logic. All about looking for importance of value or order similarity count. Little hard to explain but i hope you get it.