Adapter Pattern - Design Patterns (ep 8)

  Рет қаралды 246,400

Christopher Okhravi

Christopher Okhravi

Күн бұрын

Video series on Design Patterns for Object Oriented Languages. This time we look at the Adapter 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
💪 Patreon Community
/ christopherokhravi
📚 Products I Recommend
geni.us/71ZXF

Пікірлер: 388
@emangonzalez2309
@emangonzalez2309 4 жыл бұрын
i learn more from ur 30 - 40 mins than my 2 hour lectures
@SaurabhGuptaicecool
@SaurabhGuptaicecool 4 жыл бұрын
This series is like godly for interview preps.
@TusharMehmi
@TusharMehmi 7 жыл бұрын
I think yours are the only videos on KZbin for learning Design patterns thoroughly without even reading anything, really thankful for that and please never stop making videos.
@alim80
@alim80 7 жыл бұрын
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 жыл бұрын
+Ali Morrison Thanks! I'm glad to hear the content is valuable. Next coming soon :)
@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
@kushiskinng
@kushiskinng 3 жыл бұрын
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!
@YazanAlaboudi
@YazanAlaboudi 5 жыл бұрын
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.
@SomeRandomDudeAF
@SomeRandomDudeAF 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!
@johnyepthomi892
@johnyepthomi892 3 жыл бұрын
You’re passion is infectious. Hope you keep this going .
@pinkponyofprey1965
@pinkponyofprey1965 7 жыл бұрын
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
@sohamsmarty
@sohamsmarty 3 жыл бұрын
My friend, you are one of the most thorough teacher of these topics that I have come across. Thank you for this video!
@srivijaykalki4279
@srivijaykalki4279 Ай бұрын
you got me when you said transformer - Decorator Pattern, adapter - Adapter pattern. very great explanation.
@santoshkumarganji
@santoshkumarganji 7 жыл бұрын
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 жыл бұрын
+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 жыл бұрын
@@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.
@MrRemyguy
@MrRemyguy 4 жыл бұрын
This is better than the "Best Selling" Udemy course on Design Patterns. I know cuz I bought it and now regretting.
@liangsitao
@liangsitao 5 жыл бұрын
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.
@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.
@josecarlosramirez486
@josecarlosramirez486 7 жыл бұрын
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 жыл бұрын
I’m humbled and really glad to hear that. Congrats on the success! And happy holidays to you too :)
@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!
@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!
@djBC10000
@djBC10000 5 жыл бұрын
I like how you teach man, it is very clear and simple to understand, and I appreciate all of the efforts you are putting.
@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.
@BrunoPouliotLeCanardNoir
@BrunoPouliotLeCanardNoir 5 жыл бұрын
Just want to say, i love the way teaching us 😉.
@dennisvanotterdijk
@dennisvanotterdijk 9 ай бұрын
Love the practical examples that you use to demonstrate the design pattern! Thanks for the effort you're putting into this...
@TheFlyguy31
@TheFlyguy31 6 жыл бұрын
Probably the best example of the Adapter Pattern I've seen
@gilbert.gabriel
@gilbert.gabriel Жыл бұрын
Wow. I now understand the Adapter pattern. Very thorough explanation. Glad I found this video!
@diego99799
@diego99799 7 жыл бұрын
Your videos are one of the few things I cant wait. Thank you!
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
+Olaf Olafski Haha thank you I'm glad to hear :)
@jongrant6385
@jongrant6385 6 жыл бұрын
Amazing videos mate - loved the transition at 4:14 :P
@JohnDoe-ej6vm
@JohnDoe-ej6vm 4 жыл бұрын
:D
@brunon.8962
@brunon.8962 4 жыл бұрын
This should be the first chapter of the book, it explains composition, delegation, asociation in a very simple way.
@ChristopherOkhravi
@ChristopherOkhravi 4 жыл бұрын
Very good point!
@XadaTen
@XadaTen 7 жыл бұрын
My brain exploded as I finally understood the differences. You are the best!
@karapasi6206
@karapasi6206 Жыл бұрын
You are amazing Christopher. So much dedication and passion. You actually created desire to learn and dive into these concepts. Thanks a lot.
@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
@rongliao9255
@rongliao9255 4 жыл бұрын
Very clear and concise explanation with engaging teaching style!
@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!
@kasperwesteraa9558
@kasperwesteraa9558 2 жыл бұрын
You are very good at explaining how design patterns work! Love it!
@matimozg
@matimozg Жыл бұрын
I love that way of studing. It's fun, and you get me knowledge in easier way. Thanks a lot man!
@hk318i
@hk318i 7 жыл бұрын
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.
@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!
@lakepee
@lakepee 8 ай бұрын
This is super incredible to learn design principles. I’m really happy I found this video
@jmendowski
@jmendowski 5 жыл бұрын
Thanks a lot for ur effort on these videos. I have watched all patterns videos. Every programmer should watch them.
@tanushsathiyaseelan9428
@tanushsathiyaseelan9428 4 жыл бұрын
Man u you are wonderful. Wish every single teacher is like you. Thank for you for these golden content
@chornge1
@chornge1 7 жыл бұрын
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 :)
@safvanp567
@safvanp567 Жыл бұрын
Thank you so much for this playlist, I highly appreciate your hard work in creating lectures
@jayakapoor
@jayakapoor 7 жыл бұрын
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...
@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.
@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.. .:)
@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 !!
@NarendraKolink
@NarendraKolink 2 жыл бұрын
Best video to understand the Adapter Pattern... Thank you so much for your superb explanation.
@javacoco5047
@javacoco5047 3 жыл бұрын
great work!!! you inspire me for my upcoming bachelor thesis - thank you, so helpful!
@SweeneyTodd-n6v
@SweeneyTodd-n6v 19 күн бұрын
Thank you so much, this videos make the patterns much clearer to understand for me :)
@muhammedemad1155
@muhammedemad1155 2 жыл бұрын
best design pattern explanation on youtube, thank you sir
@RafaellLycan
@RafaellLycan 7 жыл бұрын
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 :) :) :)
@sinikishan1408
@sinikishan1408 3 жыл бұрын
Hi Christopher, I am a big fan of your KZbin 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.
@tobidaada
@tobidaada 6 жыл бұрын
This was really well done. I love your style of teaching and enthusiasm.
@גלכהן-ו8ח
@גלכהן-ו8ח 7 жыл бұрын
Yet another great video The series is incredibly clear, Thanks a lot Waiting for the next one
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
Thanks! And thanks for following the series. Next is on its way :)
@learn-cool-kids
@learn-cool-kids 2 жыл бұрын
Thanks Christopher, the pedagogy is super good and it helps a lot after going through the books.
@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
@colinhughes2452
@colinhughes2452 7 жыл бұрын
Another great explanation of a design pattern. Enjoy your youtube videos - these and code-walks.
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
Thanks! And thank you for the code walks shoutout :)
@kamalam29
@kamalam29 2 жыл бұрын
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.
@AmongManyWays
@AmongManyWays 4 жыл бұрын
Loved the way you teach or make videos. Also love ur cat too !
@fahimmahmud8036
@fahimmahmud8036 5 жыл бұрын
I normally don't comment. But I wanted to say thank you for the explanation! Really a good way to understand!
@SociedadAndroide
@SociedadAndroide 5 жыл бұрын
This pattern is used in MVP architecture, you can inject your interactors instantiating your presenter in your client (view) , but dagger comes to help us with this :)
@jackylau2597
@jackylau2597 6 жыл бұрын
best design pattern tutorial on youtube. thanks!
@harinderchoudhary6259
@harinderchoudhary6259 Жыл бұрын
one simple practice example for this pattern if you would like to learn by implementation. create an adaptor between Legacy Calculator and modern Calculator. Legacy calculator function signature would be int calculate(int op,int a, int b) where op is operation code. Modern calculator function signature would be int add(int a,int b) , int subtract(int a,int b). As you can see interfaces of Modern Calculator and legacy calculator are incompatible. So you can create an adaptor class to make the interface compatible.
@chaoukimansour7816
@chaoukimansour7816 2 жыл бұрын
Best deign pattern videos out there ! Thanks Christopher
@andreibatinas3880
@andreibatinas3880 2 жыл бұрын
Man…you did such a great job! I just want to see more videos from you!
@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.
@amraboughazala5986
@amraboughazala5986 5 жыл бұрын
I liked the pause at the end.
@mireazma
@mireazma 4 жыл бұрын
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().
@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.
@shivamsaxena7378
@shivamsaxena7378 6 жыл бұрын
The best explanation of design patterns I have come across on the internet. Great work man, you got a new subscriber! :)
@George74rus
@George74rus 4 жыл бұрын
Wow! Clear, creative, understandable english. Subscribed.
@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.
@myWorldDiscover
@myWorldDiscover 3 жыл бұрын
very simple and easy explanation and help well to understand design pattern!
@nikitavorotnyak9661
@nikitavorotnyak9661 6 жыл бұрын
Excellent editing, making your videos very fluid and easy to digest! Great videos!
@balaganesh3440
@balaganesh3440 3 жыл бұрын
The best video on adapter pattern
@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 =)...
@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
@kewtomrao
@kewtomrao 2 жыл бұрын
Amazing!!! May god bless you for these tutorials!!!
@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!!!!
@alicialockhart1081
@alicialockhart1081 3 жыл бұрын
Thank God a video with no weird accents.
@vagarwal8686
@vagarwal8686 4 жыл бұрын
This is even better than pluralsight and i do have its subscription.
@nehanigam4997
@nehanigam4997 5 жыл бұрын
Thank you Christopher for making usch wonderful and energetic videos.
@fernandogomez83
@fernandogomez83 2 жыл бұрын
Thank you for the video Christopher.
@pradeepsanju
@pradeepsanju 7 жыл бұрын
Thanks Christopher. It is really helpful.
@ChristopherOkhravi
@ChristopherOkhravi 7 жыл бұрын
Thanks for letting me know. And thanks for watching :)
@FebiMettasari
@FebiMettasari 5 жыл бұрын
I really enjoy your explanations on design patterns, it helps me a lot in my OOAD class 💙
@StevePlaysBanjo
@StevePlaysBanjo 5 жыл бұрын
Excellent tutorial! I have these books, but they’re rather dry. You make them interesting. 🤘
@歹丸郎里奇
@歹丸郎里奇 5 жыл бұрын
me too
@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 😁
@delucabruno
@delucabruno 7 жыл бұрын
This video needs more views, very helpful!
@danielvisky
@danielvisky 5 жыл бұрын
You rock on all your classes, man
@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 :)
@fordsim7
@fordsim7 5 жыл бұрын
Love the explanation. Quick and easy to understand!
@anshulabhinav13
@anshulabhinav13 7 жыл бұрын
The adapter in the laptop charger is also actually an 'adapter', in the context here. It is an adapter between the cable charger and your laptop. Just like the socket adapter is an 'adapter' between your cable charger and the wall plug.
@PolovII412
@PolovII412 7 жыл бұрын
Christopher Okhravi you are my new religion.
@ArunKumar-xm4ju
@ArunKumar-xm4ju 3 жыл бұрын
Hi Christopher. Thanks a lot for your videos. It really helps me to get better understanding of design patterns than reading in books. And your presentation skill is awesome. I have one doubt here. You had mentioned if we speak on transforming the logic , then it is not adapter pattern. Can you kindly let me know which pattern will suit this kind of transforming logic?
@faithfultoyeshua4576
@faithfultoyeshua4576 2 жыл бұрын
I think decorator pattern will do well or strategy pattern
@teoupenieksbracco2730
@teoupenieksbracco2730 5 жыл бұрын
Very nice video! I'm kinda new with all this stuff and this video helped a lot!
@botrate412
@botrate412 2 жыл бұрын
very good explanation thank you Christopher.
@eugenezuev7349
@eugenezuev7349 Ай бұрын
Excellent-explained
@menaf77
@menaf77 7 жыл бұрын
waw you are from Sweden...fantastic explanation. Tack för de här underbara videon
@shaktisingh-lu3dm
@shaktisingh-lu3dm 3 жыл бұрын
Great Video. Very understandable. Many thanks for such videos.
Facade Pattern - Design Patterns (ep 9)
16:19
Christopher Okhravi
Рет қаралды 183 М.
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 235 МЛН
This Game Is Wild...
00:19
MrBeast
Рет қаралды 186 МЛН
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 3 МЛН
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 138 МЛН
Decorator Pattern - Design Patterns (ep 3)
54:35
Christopher Okhravi
Рет қаралды 489 М.
8 Design Patterns EVERY Developer Should Know
9:47
NeetCode
Рет қаралды 1,1 МЛН
Design Patterns Revisited in Modern Java by Venkat Subramaniam
51:30
Proxy Pattern - Design Patterns (ep 10)
37:35
Christopher Okhravi
Рет қаралды 165 М.
Observer Pattern - Design Patterns (ep 2)
49:47
Christopher Okhravi
Рет қаралды 571 М.
10 Design Patterns Explained in 10 Minutes
11:04
Fireship
Рет қаралды 2,3 МЛН
Factory Method Pattern - Design Patterns (ep 4)
27:21
Christopher Okhravi
Рет қаралды 554 М.
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 235 МЛН