Тёмный
No video :(

Strategy Pattern - Design Patterns (ep 1) 

Christopher Okhravi
Подписаться 157 тыс.
Просмотров 1,5 млн
50% 1

Опубликовано:

 

5 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1,8 тыс.   
@vaibhav4196
@vaibhav4196 8 месяцев назад
Just stumbled upon this gem in 2024, and 8 years down the road, this video remains an absolute treasure! The explanation is beyond awesome - PURE GOLD! 🌟 Grateful for the timeless content! 🔥
@bobbob-gv1ev
@bobbob-gv1ev 3 месяца назад
If you want a text version the examples are taken from Head First: Design Patterns -- excellent read
@miguelcerne1150
@miguelcerne1150 3 месяца назад
Me too, man! I always wanted a good and simple material to guide me through Design Patterns, this is just GOLD.
@edwinzone5807
@edwinzone5807 3 месяца назад
Same!!!!
@TheMentalGentelman
@TheMentalGentelman 3 года назад
I cannot stress enough how good this video is. A lot of tutorials don't bother editing the empty space between sentences, but you do. Props, and I hope your future is bright.
@zanarkdev3904
@zanarkdev3904 2 года назад
This playlist is almost 5 years old and yet it is THE BEST playlist/video on Design Patterns. Thank you so so much for making everything so easy to understand.
@ahmedhany8339
@ahmedhany8339 9 месяцев назад
almost 7 years now, still the best
@oluwatobitobias
@oluwatobitobias Год назад
This is making the top ten best educational content on RU-vid for me... this method..."break down the teaching from a reputable book"
@regevson2244
@regevson2244 7 лет назад
please keep on with this series. Your explaining is sick!
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Thanks. I'll be sure to :)
@aaraksheet1
@aaraksheet1 6 лет назад
"Sick" is used as an inverted meaning.
@mgrycz
@mgrycz 6 лет назад
Thanks, captn!
@TJ-zs2sv
@TJ-zs2sv 6 лет назад
explaining is sick.....???? Really?
@ke9n
@ke9n 6 лет назад
Yeah best, most understandable videos I've seen and the lighting is intimate like we're right there in the room and he's explaining it simply like an awesome friend lol
@dangascoigne6678
@dangascoigne6678 Год назад
You are the first person I've come across on RU-vid that simply and atriculately explains dependency injection. Thank you.
@cameronsin1942
@cameronsin1942 7 лет назад
Broooo! if you were a professor in my school, i'd add all your classes in a heartbeat. Thanks for all the great videos. Subscribed and best wishes!
@lucas_badico
@lucas_badico 5 лет назад
@johngreen said something like this... He is a professor. @Christopher, a professor that we choose to listen and follow. This take us back to the begining of the master and aprendiship relations. Where the student choosed the master and the master choosed what will became of your teachings.
@crystalkewe
@crystalkewe 6 месяцев назад
Finally, one of those odd times RU-vid actually recommends something of use! THANK YOU!
@ahnmichael1484
@ahnmichael1484 4 года назад
Honestly thank you thank you thank you - I feel like crying right now at how much I *didn't* understand at the beginning of the video and how confident I feel now at the end of the video.
@Ish-YouTube
@Ish-YouTube 8 месяцев назад
In the middle of the video I just stared at your messy board and went crazy by the fact I understood every single word and every messy arrow!!! How did you do it??? Man you're blessed, you're a perfect teacher!
@TfYouLookinAt1
@TfYouLookinAt1 6 месяцев назад
He cared, that's how.
@ievgeniiiablonsky1161
@ievgeniiiablonsky1161 7 лет назад
That's is great! I've started the video just to watch it for a few minutes, just to check it out and watch it later. But I couldn't stop, it is so good! I love how you explaining, it looks like you are obsessed with it and it's great. Please continue doing that!
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Haha thanks I'm glad it's useful :)
@MubashirAR
@MubashirAR 5 лет назад
Whats the "3 ❤" next to your name?
@Sapphiamur
@Sapphiamur 3 года назад
ooh, i love your explanation! perfectly understandable and showcasing where the pattern helps with examples. thank you so much!!
@dnbndu
@dnbndu 3 года назад
I Love your Girlfriend.
@BinarySymphony
@BinarySymphony 7 лет назад
Very nice videos. The way you explain makes people sit and listen what you are speaking. That's very good. Also, you can give the ducks the power to be invisible. lol...
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Thank you very much for taking the time to comment. It makes me very happy to hear. About the ducks... you are the invincible programmer and only your imagination shall dictate the limits of your force. I support your invisible ducks :)
@ninakoch1799
@ninakoch1799 2 года назад
@@ChristopherOkhravi thank you so so much for this absolutely amazing video series on design patterns!! took a course at my university about this but never fully understood the design patterns until i binge watched your videoseries!! your are awesome!
@EspatiallyGood
@EspatiallyGood 3 года назад
Chris! Total Legend!! Your technique for taking cold "text book" definition, and turning it into something human and understandable is utterly brilliant. Wish I had a tutor or mentor like you to learn from. Thank you so much for dedicating your time to make these video's. I subscribed, liked, and will spread the word to my dev team.
@andiespencer854
@andiespencer854 2 года назад
This is the best explanation i've gotten throughout all my pattern researches on youtube. The explanations are so detailed as though it was done under the assumption that the views are new to design patterns overall which is honestly the best way.
@kumarchandan6336
@kumarchandan6336 3 месяца назад
I have cracked Low Level Design interviews in companies like Microsoft, Amazon, Atlassian, Flipkart, etc with the help of your videos. Your videos are really helpful. Keep up the good work.
@ChristopherOkhravi
@ChristopherOkhravi 3 месяца назад
Wow. I’m happy to hear that! Thanks for sharing. 🙏😊 And congratulations!
@gigajoules6636
@gigajoules6636 5 лет назад
I love your energy. Such a refreshing change from staring at a visualstudio window for hours
@ahmedtharwat6179
@ahmedtharwat6179 4 дня назад
You are the first person I've come across on RU-vid that simply and atriculately . Thank you.
@satyendrakumarsharma3513
@satyendrakumarsharma3513 7 лет назад
Thanks Christopher! Your way of presentation is so expressive, it feels that the knowledge is being 'injected' into the mind. Please keep posting similar videos over other topics of Computer Science.
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
+Satyendra Kumar Sharma haha :) Thanks. I will indeed do. And thanks for watching.
@Arkatori
@Arkatori 4 года назад
i love how he teaches AND his accent! I was smiling so much
@Roxarras
@Roxarras 4 года назад
This playlist really helped me during my studies. Now, after finishing my studies and coming back to this playlist to refresh my memory, I can see I have forgotten quite some things. Thanks again for making me learn and having fun while doing it!
@ayushsharma1943
@ayushsharma1943 3 года назад
bro, where were you till yesterday. I found this video a few years too late but I am glad I found them. such a perfect and simple explanation. I had that "aha so that's what it meant" moment.
@javierperezsanchez6601
@javierperezsanchez6601 7 лет назад
This is hands down the most thorough explanation I have come across in a long time. Congratulations dude. This series is just awesome.
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
+Javier Perez Sanchez :D thank you for the very kind words and for taking the time to share them. I'm super glad it's useful :)
@akshitarora470
@akshitarora470 2 года назад
Can't thank you enough man! I had a design problem to work at somone suggested to use strategies to solve it and I was totally blank! This has given me a great prespective. Going to watch the entire series, one pattern a day is the aim! Thanks again!
@BuildEver
@BuildEver 5 лет назад
I'm glad RU-vid recommended me this video!
@quintonwilson8565
@quintonwilson8565 4 года назад
I read Chapter 1 from the book and I'm watching this video..... HOLY FUCK, YOU'RE PHENOMENALLY GOOD at breaking things down and explaining them.
@xFailGameR
@xFailGameR 3 года назад
For years I've been searching for a good design patterns course, luckily RU-vid recommended your videos and finally I am able to understand, keep going man, you helped me a lot. I was afraid that you quitted RU-vid like every other programming teacher, after seeing this video was uploaded 3 years ago 🤛🏻🙏🏻
@jvsnyc
@jvsnyc 2 года назад
So many positive comments, all so well-deserved. It seemed all over the place while I was watching it but it just all comes together so well. Only comment is that "quack" is normally pronounced to rhyme with "black", "snack", "sack" and "track". Great video!
@whitodev3472
@whitodev3472 7 лет назад
now this is how you do a design pattern lecture, I understood everything! Thank you so much!
@connietranhedberg5251
@connietranhedberg5251 3 года назад
I've spent so many hours trying to understand how to apply the strategy pattern. Thank you for both explaining it with UML and pseudo code - makes the whole difference!
@Codefortyseven
@Codefortyseven 4 года назад
If only I would've received this level of explanation and visualization while I was in the university, my knowledge and understanding of these patterns would be so much better. I'm lucky that the poor quality of education was still able to land me a job as a software developer, which I've been doing as a profession for over 5 years now, but I'll be watching this series through because I think I would learn more from these videos than I did in the university. I'm trying to be optimistic it's still not too late to expand and deepen my knowledge.
@Jjjabes
@Jjjabes 4 года назад
There are some people that are born to teach. You've taken what is fundamentally a dull af subject and made it entertaining.. thank you!
@terigopula
@terigopula 2 года назад
Legend spotted ❤️ your content is 100% worth paying for. Kudos to you to make it available for free. U rock Chris 💜😄
@AnthonyBrindley
@AnthonyBrindley Год назад
You are a legend. I literally tripled my income by watching your videos, implementing and understanding what you're talking about and demonstrating it to a potential employer. Your videos changed my life! Thank you so much!
@HologramJay
@HologramJay 3 года назад
I had that 'aha' connection while watching this. Thanks man.
@FernandoHernandez-nr1by
@FernandoHernandez-nr1by 2 года назад
Man, this video was so helpful! At first, when you read what the pattern was I thought I kinda understood it, and 10 minutes in I realized I had no idea what the pattern really is, but by the end of the video I really did understand it. You're great dude!!
@antagonisticapple9466
@antagonisticapple9466 4 года назад
My entire family was brutally savaged by a mountain duck. Your casual attitude toward their attacker is an insult to their memory.
@BinGanzLieb
@BinGanzLieb Год назад
did your entire family see this video?
@gdeveloper3309
@gdeveloper3309 Год назад
The mountain duck must've messed up his whole family hierarchy
@AidenElliott-ff2vt
@AidenElliott-ff2vt 9 месяцев назад
My dad crossed paths with a cloud duck, he is no longer with us. RIP your family, I hope you can find peace.
@adesojialu1051
@adesojialu1051 2 месяца назад
The duck 🦆 is being reinvented into duck duck go😅
@psychotrout
@psychotrout 2 месяца назад
Where’s that memory allocated?
@daniahmohammad6101
@daniahmohammad6101 2 года назад
Chris, I watched you videos about design patterns to prepare for a class that I skipped most of it is lectures due to the depressing online teaching, and I just finished my exam. I just want to thank you so much for the amazing lessons you taught me. I was able to refactor the codes easily because you explained the concepts in a very understandable way. I wish you all the best 🧡 *depressed eng student*
@acupfb
@acupfb Год назад
I've read the GoF book a couple times, but for some patterns, never really got them Your series really made them clear now Thank you for a great series on the design patterns!
@ChristopherOkhravi
@ChristopherOkhravi 3 месяца назад
Thank you very much! 😊🙏
@aaronalquiza9680
@aaronalquiza9680 3 года назад
u know how good you are at teaching? i play your videos (in this playlist) at 1.5x speed and I STILL FUCKING GET IT.
@user-se5ub7ft1o
@user-se5ub7ft1o 4 года назад
When you're said introduction, I heard introDUCKtion😂
@alaamansour6088
@alaamansour6088 3 года назад
lol
@KanchanDevi-ms4en
@KanchanDevi-ms4en 3 года назад
yyogofjddj@@alaamansour6088 I ckckkfkrkekrk
@KanchanDevi-ms4en
@KanchanDevi-ms4en 3 года назад
fuej j h you fufhfu
@abhilashpatel3036
@abhilashpatel3036 3 года назад
In the book the first example is about ducks
@annybevilacqua6181
@annybevilacqua6181 2 года назад
Not even one minute into the video and I already feel this is gonna be great!
@atobatele
@atobatele 5 лет назад
You are a gifted teacher. You break down complex things to very simple relatable bits. I hope you keep these videos coming.
@tassaron
@tassaron 2 года назад
Every time I learn about a design pattern, it's something I started figuring out for myself through trial and error over the years... But putting a concrete name on these strategies and patterns helps so much
@naeroforceofficial
@naeroforceofficial 4 года назад
This is a super playlist. As a complete newbie to design patterns I was lacking of some basics, you made me understood the Strategy Pattern, Interfaces, UML and also some hints on naming... In 30 minutes. Thank you!
@bernong1
@bernong1 3 года назад
This is the clearest explanation I have ever seen. What I needed was to understand how the design came about and how it is implemented and how the implementation works. You hit all these points so clearly. I have struggled understanding design patterns for years, how they are implemented and works. Keep it up. Super clear, concise.thank you. 10 stars!
@mikesmale1853
@mikesmale1853 5 лет назад
Well, that was 30 minutes well spent, thank you!
@olmanmora21
@olmanmora21 3 года назад
I can barely realize this video is 35mins long, you caught my attention the whole time, your explanation goes beyond simple boring design patterns theory, thank you sir, you've got a new subscriber.
@kyonru
@kyonru 7 лет назад
Great job, even for a no-native speaker who is learning english like me, this was really helpful. I understood everything! I'll be waiting for more videos!
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Robert Juamarcal thanks! Makes me glad that it's understandable :) Btw ofc also I am a non-native English speaker. But we get better day by day right? :)
@kyonru
@kyonru 7 лет назад
Yeah, we do xD
@atikaakmal3661
@atikaakmal3661 7 лет назад
could u explain Composite behaviour
@atikaakmal3661
@atikaakmal3661 7 лет назад
Hiii could u explain Composite behaviour
@sunnyshang4350
@sunnyshang4350 4 года назад
Your explanation is soooo good. I do not come from a CS background and recently was recommended by a friend to read this book, head first design patterns. I read this part of the book twice and was still digesting it. But your video made it all make sense. Really want to let you know how meaningful your video is for me and people like me. Thank you
@antoniadieterich72
@antoniadieterich72 3 года назад
This was the best explanation of the strategy pattern I've heard so far! When you explain it, it suddenly seems easy!
@guilhermemallmann2251
@guilhermemallmann2251 5 лет назад
Man, I Work at KingHost, a WebHosting Company from Brazil, I'm a Junior PHP developer and I needed to make a code review from a collegue that used the dessign pattern strategy. I never understang it right, until I saw your video. Man, you're great! I completely understood the point of using strategy with only 35 minutes listening to you. I will watch all your videos about design patterns to learn more and I've subscribed to your channel. Please, keep up this good work, a hug from Brazil
@cuonginfosys
@cuonginfosys 7 лет назад
Great effort! You simplify the difficult things. Really appreciate your work! PS: Looking forward to your next videos
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Cương Tạ Văn thanks! I appreciate you taking the time to comment :)
@cwash08
@cwash08 5 лет назад
Very very nice. This is the type of computer science/ software engineering content I was looking for on RU-vid. Most is catered to people just starting out, which is fine, but content like this is very welcome.
@nguyenxuanson-fgwhcm3471
@nguyenxuanson-fgwhcm3471 4 года назад
Not being able to fly is a flying behavior, I laughed so hard at this part
@halivudestevez2
@halivudestevez2 3 года назад
I learnt that point of view for 4 years at the college... zero distance is a distance too, empty set is a set too....
@ZigzagKazak
@ZigzagKazak 9 месяцев назад
I love your lessons. Fast, clearly articulated, concise. 10/10
@professorfontanez
@professorfontanez 4 года назад
I've must have watched this video a million times and it just hit me today that this video also illustrates a very powerful design pattern: Null Object Pattern. NoQuackBehavior and NoFlyingBehavior are basically Null Objects.
@s1mpl3_
@s1mpl3_ 4 года назад
I'm usually a book guy, as most of the tutorials are either hard to follow or just the explanation is not good enough. But thanks to this video I can finally say, that I fully understand the strategy pattern. Thanks you!
@joseramondiazarceo4063
@joseramondiazarceo4063 4 года назад
A hidden benefit from this is that makes the code more testable : )
@yaoxiongliang9483
@yaoxiongliang9483 3 года назад
It’s not hidden. Code reuse already means easier testing.
@daegudude1048
@daegudude1048 3 года назад
I'm not at the programming level that I need to watch this, but still find it very pleasant to watch, cheers!
@ChristopherOkhravi
@ChristopherOkhravi 3 года назад
I’m glad to hear and I think you’re doing the right thing when challenging yourself! I tend to consume a lot of content that’s above my level 😊 I come back to the videos every now and then and eventually it turns out that I perfectly understand most of it 😊😊 Thanks for watching!
@Ryuk3027
@Ryuk3027 6 лет назад
I wish I had a co worker like you ! Amazing video, so much clarity, depth with examples and yet so simple :) I'm going to watch other videos like it were a season of Game of Thrones :D One suggestion though, I was really hoping to see an example code of how I'd actually instantiate the Duck class now through code since I have all the options for composition.
@johnsonvaughn2366
@johnsonvaughn2366 Год назад
OMG this content is the most simplifying design patterns. I don't even stress about it and mind blow when you write simple code. Thank you for your time and video.
@sandeepsachan1465
@sandeepsachan1465 7 лет назад
I Appreciate, Christopher. And I think the publisher should publish this video as part of the book :)
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Awesome comment :) :) :) Thanks! Much appreciated.
@goffredo81
@goffredo81 4 года назад
coming from javascript, and having read a lot of different articles over this subject, i can say that your explanation about design patterns in OOP is so far the clearest explanation that can be found online. You did a great job. Thank you!
@_Zephon
@_Zephon 6 лет назад
Simply amazing. Start studying design patterns here and your channel is awesome. Excelent explanation. :) Greetings from Brazil o/
@sabitkondakc9147
@sabitkondakc9147 3 года назад
ohh damn, I bumped into these videos in 2021/March , your energy makes me bounce up on my chair Christopher , good work.
@YazanAlaboudi
@YazanAlaboudi 4 года назад
Watching this was a blast! Thank you so much for this video. I'm looking forward to the rest of the series. Great job stressing on semantics. I think we need to further emphasize on that in our dev communities
@vitaliymashchenko
@vitaliymashchenko 4 года назад
It's the best book about design patterns ever. I've read 6 books about patterns and I like it the most.
@walchandwarik3167
@walchandwarik3167 7 лет назад
Dear sir, you are simply best.
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
+Walchand Warik Thank you sincerely for the kind words. And thanks for watching :) You guys are the best for supporting the channel :)
@TfYouLookinAt1
@TfYouLookinAt1 6 месяцев назад
I don't know what an interface is, but I can use them now thanks to this guy.
@matthiasauswoger7994
@matthiasauswoger7994 7 лет назад
With enough thrust, rubber ducks fly quite well... ;-) But good video, thanks for that.
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Hahaha. True, true :) :)
@ZealGames
@ZealGames Год назад
You have a great way of concisely integrating examples into a lesson without understating the examples' complexity. Thanks 👍
@mihailpopa3056
@mihailpopa3056 7 лет назад
Good job! I like your comments and especially your references. Sandi Metz is indeed an excellent OOP advocate!
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Thanks! :) I agree. She's got some really inspiring talks. The "Nothing is Something" talk is on my mental list of top programming talks. In the sense that so many things just suddenly "clicked" for me.
@marekbugiel6893
@marekbugiel6893 4 года назад
@@ChristopherOkhravi Mind sharing rest of the list? :) Seems like something I'd like to know. Thanks for the vid, great job!
@felixjost8206
@felixjost8206 2 года назад
It's great how deep you dive into one pattern!
@Resok
@Resok 7 лет назад
Great video, thanks for the detailed and well articulated analysis!
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Thank you for the kind words! :)
@mandeepmann1835
@mandeepmann1835 3 года назад
Just started looking at design patterns for interviews and am a little confused. Then came across your videos and they are amazing. Clearest and most simple explanations out there. Godsend!!
@facundorodriguez92
@facundorodriguez92 7 лет назад
Excellent video! I'm waiting for the next one. Greetings from Argentina!
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Facundo Rodriguez Thanks! It's coming super soon. Greetings from Sweden ;)
@maxnovikov51
@maxnovikov51 4 года назад
I love you man, thanks. Super important the fact that you added example at the end to demonstrate the theory at action.
@JAIDEEPMEISTER
@JAIDEEPMEISTER 7 лет назад
Great video !!! Desperately waiting for the other patternssssssssssss .. 12 of them
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
+Singh haha thanks! Glad it's useful. More coming next week! :)
@chris7263
@chris7263 8 месяцев назад
I'm sure I've also just progressed far enough in learning that I am able to understand better than I used to, but this is the first explanation of a Design Pattern that I completely followed without getting lost, and that's gotta be to your credit too. Thank you for this!
@heraldo623
@heraldo623 4 года назад
That pattern simply turns algorithms into objects and so give you full control of dependencies. Hierarchy doesnt give you full control because of the Liskov Subistitution principle, the subclass must have the properties of parent class.
@globalincident694
@globalincident694 4 года назад
The thing is though, strategies aren't all good. They are useful when the equivalent hierarchy would result in people creating lots of subclasses of your class, and in those subclasses sharing lots of code between each other in a way that makes doing it as a hierarchy complicated. But in my experience that doesn't happen that often.
@planomustang1
@planomustang1 4 года назад
@@globalincident694 - In my opinion, the Liskov Substitution principle points out a flaw/limitation in OO languages, rather than a principle. In real world programming, your rarely get hierarchies/taxonomies that can obey LSP, yet remain useful. I like the concept of "adhoc polymorphism" in languages like Haskell. Model the hierarchies/taxonomies as best you can, but let the differences exist. The compiler will tell you when you go wrong.
@globalincident694
@globalincident694 4 года назад
@@planomustang1 I wouldn't say Liskov substitution is a flaw. It's present to an extent in Haskell too - if you are creating an instance of a class, the instance also needs to have the methods of the parent class. If you're having a problem with it, that usually means there's a flaw in your class structure - maybe that class shouldn't have that method - rather than a problem with liskov substitution.
@planomustang1
@planomustang1 4 года назад
@@globalincident694 No. Haskell allows adhoc polymorphism. In other words, you don't have to implement a parent's method, if it does not apply to the child. The compiler will only complain, if something tries apply the parent method to the child. Javac/C++ will complain at compile time, though there is no evidence the method is needed on the child. That is why LSP points to a problem, rather than a solution. OO models are too strict. Adhoc Polymorphism is a good thing. FYI, I learned about LSP in 1996.
@gustawbobowski1333
@gustawbobowski1333 2 года назад
​@@planomustang1 why implemnent a parent method in a child if it's inherted?
@IBRAHIMDEMIREZ
@IBRAHIMDEMIREZ 2 года назад
Not only the way how you explain and not how manage the video but how you exchange the information... its like you though the information to my brain. Really effective, only I can say that brilliant!
@aakashsinha6454
@aakashsinha6454 2 года назад
It's like Mr. bean is teaching... :-p
@knvssandeepbolisetti5008
@knvssandeepbolisetti5008 4 года назад
Best professor ever seen After these videos no need to see the textbook for design patterns i'll suggest only him . i wrote my exams well after completing the videos
@Shannxy
@Shannxy 4 года назад
Holy shit thanks alot Mr.Bean!! So I already kinda knew what the strategy pattern was, but this whole video made it all ALOT clearer. I appreciate it greatly!
@abhilash8555
@abhilash8555 2 года назад
35 minute video and 35 minute of pure gold content?!!?! WHHHAAAAAATTT???!
@Drackomass
@Drackomass 7 лет назад
This is so good...keep them coming :)
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Thanks for watching. Glad it helps. Will do.
@mr.clickable3899
@mr.clickable3899 6 лет назад
You all know shit about boxing
@timneale5657
@timneale5657 3 года назад
CHRISTOPHER!!!!! My Man!! I love your energy, you break this down SO WELL!!!! I can't say Thank You, Large enough or Loud Enough. You Rock!!! *I know it's been 5 years but hope you see this THANK YOU!!!!
@1993wik
@1993wik 5 лет назад
Damn, that was amazing. Thank you, Christopher!
@rishabgupta2347
@rishabgupta2347 3 года назад
I just found this channel and your videos are like "Answers" to the questions. You are so good at explaining even complex things so easily. I see you are not active since many years from now. Not sure what you stop making videos. But just want to let you know that you are awesome !! Where are you man !!!
@curtisw0234
@curtisw0234 5 лет назад
The strategy pattern seems like a workaround for languages that don't have lambdas
@uumlau
@uumlau 5 лет назад
A lot of design patterns use abstract classes or interfaces to achieve what delegates/lambdas do. The classic Gang of Four book was published in 1995, so C++ was the standard of the time, and it didn't have delegates/lambdas yet, where the important part was to define the signature of the method. C++ could also use function pointers, but function pointers were just pointers and couldn't have explicit method signatures, hence the use of interfaces. It would be another decade or so before lambdas became common. So yeah, it's totally legit - and a lot lighter - to inject a lambda instead of a full blown class/interface hierarchy.
@marcpawl
@marcpawl 5 лет назад
A lambda is an implementation of a one method interface. A lambda maps to a class with no name. You might want to check out c++ weekly which had a discussion on lambdas. Passing in a lambda is the ultimate strategy pattern example.
@Layarion
@Layarion 4 года назад
@@uumlau could you explain to a c# noob, how lamba's replace interfaces or this pattern? to me a lambda just seems like a nice way to use something once and move on.
@uumlau
@uumlau 4 года назад
@@Layarion Well, if a method takes an interface as an argument, a concrete instance of that interface can contain a method. The strategy pattern can be implemented by allowing any number of different concrete classes containing different methods (strategies). It is possible instead to take a Func or Action and supply different methods that way. In all cases, the method needs to have the same signature, but otherwise the particular method to be used can be specified at run time. Sometimes an Interface or Abstract class is more efficient, especially if you have a large family of methods with different signatures to specify for each case of the strategy. Usually, however, the need for a strategy pattern is a simple decision to replace a single method, not a family, in which case a delegate can be used (declared as a Func or Action), and then whatever lambda you send just needs to have the correct signature. I've used this in real life to implement business rules dynamically, where I have a lists of business rules that are declared as lambdas (which lets me edit/modify them individually as specifications change without rewriting code or decision trees), and I can just run a foreach of the appropriate list of rules against the state of the application. Notice how this not only allows for multiple families of rules, it is far more flexible than an Interface or Abstract class, where I would have to declare each new method in the Interface/class. Instead of declaring an extra method, I just add/remove from the list of lambdas, and the signatures of methods and business logic evaluation doesn't change. Only the specific lambdas change. Combine this with commenting each lambda with the English version of the requirement, and this makes for very readable code that even a novice can easily modify.
@gustawbobowski1333
@gustawbobowski1333 2 года назад
Years later, still a great explanation. Well done!
@ToskersCorner
@ToskersCorner 7 лет назад
I've always wondered how ducks quack. Thanks!
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
Hehe :)
@prezadent1
@prezadent1 7 лет назад
They don't quack, they quach.
@guruputramahalingappa695
@guruputramahalingappa695 Год назад
Sir, you are really my GURU now, I struggled a lot to get this kind of Guide. Basically I from poor family, finished my engin in a small college, but interested to learn this DP from expert like you. Now it got fulfilled after watching your first video. Thank you so much sir. Om Guruve namaha. :)
@thundaGawd
@thundaGawd 7 лет назад
"JetFlyBehaviour" Hahahahaha! Enjoyed this, thanks!
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
+thundaGawd :D
@thundaGawd
@thundaGawd 7 лет назад
..and subbed. Thanks for sharing your knowledge...
@umwurf42
@umwurf42 4 года назад
dude... thank you so much i'm learnig my self to code for video game & 98% of free tutorial are 16y old kid using coding strucures that look like what I did on my calculator when I was at school. Don't loose my time here
@Gelegenheitszocker
@Gelegenheitszocker 7 лет назад
Awesome explanation
@ChristopherOkhravi
@ChristopherOkhravi 7 лет назад
+NeoDrick thanks! :)
@RajivBandaru
@RajivBandaru 4 года назад
Hands down the best series of videos on design patterns. Referring to his videos I have been able to clear my design patterns examination with flying colours. I would recommend his series anytime to anyone. Thank you Christopher Ockhrawi for this wonderful series...
@RemiStardust
@RemiStardust 6 лет назад
A better name for this pattern: "Behaviour Module"
@ChristopherOkhravi
@ChristopherOkhravi 6 лет назад
Interesting! That suggestion actually imho makes a lot of sense. Thanks for sharing!
@jerryyu4198
@jerryyu4198 5 лет назад
"Strategy" is actually one of the "behavior patterns" listed in the book design pattern
@iwayanbagus2271
@iwayanbagus2271 4 года назад
@@jerryyu4198 yess
@Gr33nAv3ng3r
@Gr33nAv3ng3r 4 года назад
This video was the single most effective resource I have seen. I was sooo stuck trying to wrap my head around how to use Strategy Pattern to solve this problem I was working on. My intuition lead me to Strategy Pattern but I didn't realize how much I didn't understand. Thanks you Soo Soo much!!!
Далее
Observer Pattern - Design Patterns (ep 2)
49:47
Просмотров 563 тыс.
Factory Method Pattern - Design Patterns (ep 4)
27:21
Просмотров 544 тыс.
small vs big heart 💖 #tiktok
00:13
Просмотров 5 млн
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Only Use Inheritance If You Want Both of These
9:10
Просмотров 16 тыс.
USA Nice Olympiad Exponential Equation | Solve for X
6:38
Singleton Pattern - Design Patterns (ep 6)
20:09
Просмотров 249 тыс.
Always Use Interfaces
8:08
Просмотров 46 тыс.
10 Design Patterns Explained in 10 Minutes
11:04
Просмотров 2,3 млн
Why I Don't Like Singletons
29:05
Просмотров 58 тыс.
Decorator Pattern - Design Patterns (ep 3)
54:35
Просмотров 482 тыс.