Adapter Pattern - Design Patterns (ep 8)

Поділитися
Вставка
  • Опубліковано 16 гру 2024

КОМЕНТАРІ • 388

  • @emangonzalez2309
    @emangonzalez2309 4 роки тому +33

    i learn more from ur 30 - 40 mins than my 2 hour lectures

  • @SaurabhGuptaicecool
    @SaurabhGuptaicecool 4 роки тому +22

    This series is like godly for interview preps.

  • @TusharMehmi
    @TusharMehmi 7 років тому +5

    I think yours are the only videos on UA-cam for learning Design patterns thoroughly without even reading anything, really thankful for that and please never stop making videos.

  • @santoshkumarganji
    @santoshkumarganji 7 років тому +154

    Hi Christopher, Thanks for making such a wonderful videos on design patterns. I just come across your videos while searching for design patterns in youtube. I have gone through all of your videos on design patterns. I say these are simply excellent. Keep up the pace. Expecting all GOF design patterns through your videos.

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 років тому +24

      +santosh ganji Solid. I'm glad to hear. About all the GOF patterns, I've been thinking about whether I should indeed cover all of them. I was intending to only do the ones in Head First but since the videos have been quite well received I might make a video for the remaining patterns in the GOF book. Thanks for commenting! And thanks for watching :)

    • @pmz558
      @pmz558 4 роки тому +5

      @@ChristopherOkhravi 2020 and I share the same sentiment

    • @theodorebraxton4509
      @theodorebraxton4509 3 роки тому

      You probably dont give a shit but does anyone know a trick to get back into an instagram account??
      I was stupid forgot the account password. I would love any tricks you can give me!

    • @jonroland6780
      @jonroland6780 3 роки тому

      @Theodore Braxton instablaster :)

    • @theodorebraxton4509
      @theodorebraxton4509 3 роки тому

      @Jon Roland I really appreciate your reply. I found the site thru google and Im waiting for the hacking stuff now.
      Takes a while so I will reply here later when my account password hopefully is recovered.

  • @alim80
    @alim80 7 років тому +72

    Thank you, Christopher, these are honestly the best design pattern videos I have seen and help me to really understand them. I look forward to the next video :)

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 років тому +4

      +Ali Morrison Thanks! I'm glad to hear the content is valuable. Next coming soon :)

  • @SomeRandomDudeAF
    @SomeRandomDudeAF 2 роки тому +2

    Dina videos är dom absolut bästa jag har sett på länge. Sättet du förklarar på är extremt pedagogiskt! Tack för att du har gjort dom här videorna!

  • @kushiskinng
    @kushiskinng 3 роки тому +2

    My god.. that transformer vs the plug difference to explain the difference b/w adapter and decorator is amazing! This would remain with me forever now. Thanks Chris!

  • @johnyepthomi892
    @johnyepthomi892 3 роки тому +6

    You’re passion is infectious. Hope you keep this going .

  • @MrRemyguy
    @MrRemyguy 4 роки тому +6

    This is better than the "Best Selling" Udemy course on Design Patterns. I know cuz I bought it and now regretting.

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

    i really like how you always repeat things, i find it really difficult to focus on lectures and spoken word in general but with your videos i never lose track

  • @sohamsmarty
    @sohamsmarty 3 роки тому +2

    My friend, you are one of the most thorough teacher of these topics that I have come across.
    Thank you for this video!

  • @pinkponyofprey1965
    @pinkponyofprey1965 7 років тому +21

    Oh, man, finally a dyed in the wool bona fide natural born teacher!!! If there were teachers like these around when I was a kid I would have paid attention first time around. But ... they spread the info out over a complete year that it took mr Okhravi less than half an hour to explain. Well, I ain't dead yet so I can learn this now instead! :D

  • @YazanAlaboudi
    @YazanAlaboudi 5 років тому +3

    Great video again. Whenever I try to explain this to anyone, I typically try to give an example where I'm trying to save some entity to a database. Then I explain the database may change but should not really affect the modelling of our program.

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

    you got me when you said transformer - Decorator Pattern, adapter - Adapter pattern. very great explanation.

  • @jongrant6385
    @jongrant6385 6 років тому +30

    Amazing videos mate - loved the transition at 4:14 :P

  • @josecarlosramirez486
    @josecarlosramirez486 7 років тому +6

    I had an exposition in university about this design pattern yesterday. You taught me how to explain this in a way that people can understand it, and I'm really thankful for that. Happy holidays Christopher :)

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 років тому +1

      I’m humbled and really glad to hear that. Congrats on the success! And happy holidays to you too :)

  • @dennisvanotterdijk
    @dennisvanotterdijk 9 місяців тому

    Love the practical examples that you use to demonstrate the design pattern! Thanks for the effort you're putting into this...

  • @vishalsoni-t1m
    @vishalsoni-t1m 2 місяці тому

    Amazing teaching skills, I really appreciate all your hard work and energy that you put into all of your videos.

  • @gilbert.gabriel
    @gilbert.gabriel Рік тому

    Wow. I now understand the Adapter pattern. Very thorough explanation. Glad I found this video!

  • @ZsoltGaramszegi
    @ZsoltGaramszegi 3 роки тому

    Christopher, you always say you don’t know this you don’t know that, yet you explain it very understandably. :) Thank you!

  • @liangsitao
    @liangsitao 5 років тому +2

    Thank you Christopher, for recording the whole discussion, instead of making lectures. The videos and in super headfirst manner and I am able to focus and grasp the concepts and rationale behind these patterns. And most importantly I learnt from you on how to read a technical book and present our own interpretation. 👍

  • @gayathrimahalingam95
    @gayathrimahalingam95 4 роки тому

    The way you simplify and explain it is extremely commendable. I am preparing for an interview after a break in my career . On searching for relevant videos, yours is the best I would say, Thanks a lot. You bring in so much clarity by explaining it with simplest possible examples . Great teaching.. Thanks a lot. Could not resist appreciating your effort. I am pausing the video in the middle and typing this. Great job sir.

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

    Christopher: I've just found you....and I have to say that it is the best explanation that I saw about design patterns. I'll see other videos. Thanks from Argentina! Martin!

  • @djBC10000
    @djBC10000 5 років тому +3

    I like how you teach man, it is very clear and simple to understand, and I appreciate all of the efforts you are putting.

  • @BrunoPouliotLeCanardNoir
    @BrunoPouliotLeCanardNoir 5 років тому +8

    Just want to say, i love the way teaching us 😉.

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

    I love that way of studing. It's fun, and you get me knowledge in easier way. Thanks a lot man!

  • @lakepee
    @lakepee 9 місяців тому

    This is super incredible to learn design principles. I’m really happy I found this video

  • @TheFlyguy31
    @TheFlyguy31 6 років тому

    Probably the best example of the Adapter Pattern I've seen

  • @sinikishan1408
    @sinikishan1408 3 роки тому

    Hi Christopher, I am a big fan of your UA-cam Contents, especially OOps n Design Patterns. Concepts were always vague for me initially Till I come across your videos. However, your videos helped me a lot to convey the right message I had to deliver to my students. Thanks.

  • @kerstiny4698
    @kerstiny4698 3 роки тому

    I truly wish that more lecturers can teach from the perspective of students, just like you do! I pay a ton in tuition but sometimes just don't get much digestible knowledge in return. There are professors that don't even bother to tailor the publicly available slides to their actual need, let along writing notes on board. They just read thru or fly thru some slide and give random thoughts. While this might work for advanced class, it's absolutely a nightmare for any introductory course. Sir you deserve a larger platform, and I wish you all the best!

  • @XadaTen
    @XadaTen 7 років тому

    My brain exploded as I finally understood the differences. You are the best!

  • @giveexamples
    @giveexamples 6 років тому

    Before you, learning the design patterns was absolutely tough for me, but after watching your great and subjective videos, everything has changed; TADA. Again the best adapter explanation I have ever seen.Thank you man.

  • @diego99799
    @diego99799 7 років тому +8

    Your videos are one of the few things I cant wait. Thank you!

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

    Best video to understand the Adapter Pattern... Thank you so much for your superb explanation.

  • @mireazma
    @mireazma 4 роки тому +2

    The key lies in 17:19, otherwise (without DI) the whole thing would be useless because if we hardwire Adaptee into the client, we might as well call SpecificRequest().
    OTOH we could make Adaptee implement from IAdaptee with IAdaptee.SpecificRequest().

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

    best design pattern explanation on youtube, thank you sir

  • @brunon.8962
    @brunon.8962 4 роки тому +2

    This should be the first chapter of the book, it explains composition, delegation, asociation in a very simple way.

  • @antenna7851
    @antenna7851 3 роки тому

    I barely comment to youtube videos but i was compelled to write to this one. That was such a nice example and explanation. Your energy definitely made it a lot easier to watch as well. Thanks

  • @SweeneyTodd-n6v
    @SweeneyTodd-n6v Місяць тому

    Thank you so much, this videos make the patterns much clearer to understand for me :)

  • @rongliao9255
    @rongliao9255 4 роки тому

    Very clear and concise explanation with engaging teaching style!

  • @RafaellLycan
    @RafaellLycan 7 років тому +2

    Chris you saved my life today. I'm working with a legacy application that's expanding to another country and now we need to integrate with different third-party apps.
    Thank you and when you visit Barcelona remember me that I own you a beer.
    Take care

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 років тому

      +Rafaell Lycan Hah! That's awesome I'm super glad to hear! High five for solving the issues you faced! :) And thanks for the beer :) :) :)

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

    You are very good at explaining how design patterns work! Love it!

  • @VikramKaull
    @VikramKaull 7 років тому

    Hi Christopher
    Another great video explaining the pattern! Thank you so much for sharing!
    I wanted to point out more about using the Adapter pattern for an external library.
    It's definitely a good idea to encapsulate all your external DAO calls in the adapter pattern, like calling a database or an external service.
    Another reason is Exception handling.
    For whatever reason you have defined your own exception type hierarchy (transient or permanent exceptions) in your code base. And you want to translate the exceptions thrown by your external dependency.
    Adapter pattern is good for that because you can wrap the call to adaptee.speceficRequest() in a try{} catch{} and re-throw exceptions of your own type.
    One useful point of rethrowing exceptions of your own type is to have different retry policies for different kind of exceptions.
    Thanks again for sharing the video!

  • @Blaskillo
    @Blaskillo 8 місяців тому

    Hello Chris, again awesome video, I did not know that adapter pattern was also known as a wrapper, but thank you for mentioning that at the beginning of the video, it makes totally sense to be called like that

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

    You are amazing Christopher. So much dedication and passion. You actually created desire to learn and dive into these concepts. Thanks a lot.

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

    Best deign pattern videos out there ! Thanks Christopher

  • @hk318i
    @hk318i 7 років тому +1

    A good example, in scientific computing where parallel computing is required, an adapter could be used to wrap/hide MP or/and MPI. That also simplify the interface of such external libraries.

  • @tanushsathiyaseelan9428
    @tanushsathiyaseelan9428 4 роки тому

    Man u you are wonderful. Wish every single teacher is like you. Thank for you for these golden content

  • @George74rus
    @George74rus 4 роки тому

    Wow! Clear, creative, understandable english. Subscribed.

  • @javacoco5047
    @javacoco5047 3 роки тому +1

    great work!!! you inspire me for my upcoming bachelor thesis - thank you, so helpful!

  • @nikhilemmanuelmusic
    @nikhilemmanuelmusic 7 років тому

    Well for not a good "reader" like me, your videos has been so clear and understanding. thanks a ton bro. keep it going.

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

    Thank you so much for this playlist, I highly appreciate your hard work in creating lectures

  • @eonacademy5036
    @eonacademy5036 3 роки тому

    I asked in the Decorator video I think, where were you from and you answered this one...besides I have learnt a lot from you about Desing Patterns nowdays, let me tell you that your English is incredible good and clear.. thanks a lot for everything man, saludos desde México =)...

  • @jmendowski
    @jmendowski 5 років тому +1

    Thanks a lot for ur effort on these videos. I have watched all patterns videos. Every programmer should watch them.

  • @jayakapoor
    @jayakapoor 7 років тому +1

    Thank you Christopher for making these videos. These are the best videos that I ever came across on design patterns. I have watched all the videos and eagerly waiting for next one...

  • @chornge1
    @chornge1 7 років тому +1

    I have both design books and have been lacking the time to thoroughly go through them, so thank u!!!

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 років тому

      +Christian M Solid. Makes me glad to hear that the videos work as a complement. Thanks for sharing and for watching :)

  • @AmongManyWays
    @AmongManyWays 4 роки тому +1

    Loved the way you teach or make videos. Also love ur cat too !

  • @systemdesignog
    @systemdesignog 3 роки тому

    Hi Christopher,
    I was going through head first book, and got confused with examples. But you explained those examples very well.
    Thanks !!

  • @balajim6628
    @balajim6628 5 років тому

    Thatnks a lot Christopher for making these videos, you are explaining very well, easy to understand, I am not referring any books. your videos are enough.. .:)

  • @tobidaada
    @tobidaada 6 років тому +5

    This was really well done. I love your style of teaching and enthusiasm.

  • @PuHLiY92
    @PuHLiY92 3 роки тому +4

    Спасибо за объяснение. Не зная язык - понял всё, благодаря жестикуляции.)

  • @גלכהן-ו8ח
    @גלכהן-ו8ח 7 років тому +5

    Yet another great video
    The series is incredibly clear, Thanks a lot
    Waiting for the next one

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 років тому +1

      Thanks! And thanks for following the series. Next is on its way :)

  • @skyzhangty1
    @skyzhangty1 6 років тому

    I finally kinda understand this pattern I think... The adapter is actually trying to connect ITarget and Adaptee. I was confused why you needed to create a separate interface for the adapter, but in fact that’s the interface that the client already has. And because of polymorphism, when the client calls ITarget.request(), he’s unaware of if he’s calling the real implementation or the adapter implementation. Your Swedish power plug is actually the ITarget, your adapter is the adapter class implementing ITarget and the UK power plug is the adaptee

  • @vagarwal8686
    @vagarwal8686 4 роки тому

    This is even better than pluralsight and i do have its subscription.

  • @learn-cool-kids
    @learn-cool-kids 2 роки тому

    Thanks Christopher, the pedagogy is super good and it helps a lot after going through the books.

  • @colinhughes2452
    @colinhughes2452 7 років тому +3

    Another great explanation of a design pattern. Enjoy your youtube videos - these and code-walks.

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

    Amazing!!! May god bless you for these tutorials!!!

  • @shivamsaxena7378
    @shivamsaxena7378 6 років тому

    The best explanation of design patterns I have come across on the internet. Great work man, you got a new subscriber! :)

  • @IsaacC20
    @IsaacC20 6 років тому

    @12:17 - @14:00 Crux of the adapter pattern, I think. Often, I'll need to convince other coworkers why a pattern is necessary. This excerpt provides a pretty compelling case -- you want to isolate change to a software component that might change. Thanks!

  • @balaganesh3440
    @balaganesh3440 3 роки тому

    The best video on adapter pattern

  • @jackylau2597
    @jackylau2597 6 років тому

    best design pattern tutorial on youtube. thanks!

  • @myWorldDiscover
    @myWorldDiscover 3 роки тому

    very simple and easy explanation and help well to understand design pattern!

  • @fahimmahmud8036
    @fahimmahmud8036 5 років тому

    I normally don't comment. But I wanted to say thank you for the explanation! Really a good way to understand!

  • @oliviermarty4514
    @oliviermarty4514 7 років тому

    Great video, i'm watching all of them and always looking forward for the next one. I manipulated in the past, when working on android projects, a thing they called a List Adapter that would interface together a collection of POD/primitive data objects and a collection of graphical/UI objects. At the time i wasn't really digging into those design patterns thing but now thanks to you I have a better understanding of what this adapter did.

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

    Man…you did such a great job!
    I just want to see more videos from you!

  • @amraboughazala5986
    @amraboughazala5986 5 років тому

    I liked the pause at the end.

  • @nikitavorotnyak9661
    @nikitavorotnyak9661 6 років тому +1

    Excellent editing, making your videos very fluid and easy to digest! Great videos!

  • @isserzack4641
    @isserzack4641 5 років тому

    Thank you for the great tutorials. You put so much effort on this and I should say that you made it crystal clear. Please continue this series and keep sharing with us your knowledge.

  • @alicialockhart1081
    @alicialockhart1081 3 роки тому

    Thank God a video with no weird accents.

  • @gubasso
    @gubasso 6 років тому

    Hello Christopher!! Just a suggestion! I think that whenever you want to talk about "Interface" in the sense of contracts between two parties (and not in the sense of Java Interfaces, etc.), you could use the term API ! This would be a nice analogy, and lots of programming books/tutorials refers to these contracts (even when interacting a simple function with his caller and/or his "returner") as APIs. Hope to be helpful!! And congratulations for your awesome work!!!!

  • @OlegSmarandi-c4c
    @OlegSmarandi-c4c Рік тому

    Thanks for that smile at the end of the video! Super cute :3

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

    Oh man, you explained the adapter pattern in a great way! I subscribe to the channel and am going to watch your other videos :)

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

    Thank you for the video Christopher.

  • @ahmetkemalakargul1060
    @ahmetkemalakargul1060 6 років тому +1

    Passing between scenes is awesome 7:50 :D

  • @nehanigam4997
    @nehanigam4997 5 років тому

    Thank you Christopher for making usch wonderful and energetic videos.

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

    Thanks for that video. Very clear explanation.

  • @pradeepsanju
    @pradeepsanju 7 років тому +3

    Thanks Christopher. It is really helpful.

    • @ChristopherOkhravi
      @ChristopherOkhravi  7 років тому +1

      Thanks for letting me know. And thanks for watching :)

  • @danielvisky
    @danielvisky 5 років тому

    You rock on all your classes, man

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

    very good explanation thank you Christopher.

  • @thereversejosh
    @thereversejosh 4 роки тому

    Hi Christopher. This has been the best explanation I've seen. Immediately liked the video and subscribed to your channel! You earned yourself a new fan 😁

  • @edekara
    @edekara 7 років тому

    One interesting example was when we integrated a new payment, and the payment provider was a third party which required a different view of the order information that we stored in our side, so we had to create an adapter which adapted our order into an order object which was constructed in a way more relevant to the Payment provider. BTW the end was quite interesting bit about Favouring composition over inheritance.

  • @PolovII412
    @PolovII412 7 років тому

    Christopher Okhravi you are my new religion.

  • @fordsim7
    @fordsim7 5 років тому

    Love the explanation. Quick and easy to understand!

  • @menaf77
    @menaf77 7 років тому

    waw you are from Sweden...fantastic explanation. Tack för de här underbara videon

  • @StevePlaysBanjo
    @StevePlaysBanjo 5 років тому +1

    Excellent tutorial! I have these books, but they’re rather dry. You make them interesting. 🤘

  • @shaktisingh-lu3dm
    @shaktisingh-lu3dm 3 роки тому

    Great Video. Very understandable. Many thanks for such videos.

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

    Simplest example of this pattern could be "Translator"
    Suppose your are English man want to invite Chinese man for lunch who doesn't understands english or your sign langauges as well. What you will do? you will simply call for a person who knows English and Mandarin and, that Translator person is not Uplifiting or Editing your intentions. Whatever you asked him he just simply delivered it. That way, you successfully invited that man on lunch.
    Let me know if I'm incorrect here.
    Thank you for such great explanations.

  • @iham1313
    @iham1313 6 років тому

    again an awesome vid, christopher!
    you asked for input:
    i am very happy about the theoretical concept you draw and "implemented" and i would have been very happy about a second sample which is about the plugs/sockets you started with.
    client is the class "plug" (of your macbook)
    adaptee is class "wallsocket"
    "plugadapter" is the piece of hardware you showed us
    and i guess the interface might be "iplugadapter" to deliver the contract.
    what i generally might have missed is where the client is used. sort of "plugged in" or such.
    to be more technical: where and how does the client (plug) make use of the adapter (plugadapter)?
    i only see the adapter (plugadapter) use the adaptee (wallsocket)

  • @teoupenieksbracco2730
    @teoupenieksbracco2730 5 років тому

    Very nice video! I'm kinda new with all this stuff and this video helped a lot!

  • @delucabruno
    @delucabruno 7 років тому

    This video needs more views, very helpful!