Liskov's Substitution Principle | SOLID Design Principles (ep 1 part 1)

  Рет қаралды 157,640

Christopher Okhravi

Christopher Okhravi

Күн бұрын

What is the Liskov Substitution Principle? In this series we talk about the SOLID design principles.
💪 Patreon Community
/ christopherokhravi
📚 Products I Recommend
geni.us/71ZXF

Пікірлер: 378
@MrWilde
@MrWilde 3 жыл бұрын
I have been watching online training videos for more than 15 years and the you can spot a great teacher when they have as much energy and enthusiasm as you do. Fantastic video
@KawsarJami
@KawsarJami 2 жыл бұрын
I fully understood LSP when you said on 10:57 "they're trying to show us when we should not use Inheritance and when we shouldn't"
@abdullahbhojani4772
@abdullahbhojani4772 2 жыл бұрын
exactly!
@linjustek
@linjustek Жыл бұрын
So the quote states, that we shouldn't use inheritance :D Or there is an error. :D. LSP is says that we should adhere to method argument and return types, when using implementation or when extending abstract declarations or overrides. Usually when you do not do that, but implement Interface with type declarations you get Type Error. 🙂 And we have to understand that type declaration can be abstract or interface, so child classes can be a fit for as an argument or return type.
@McSeeMo_
@McSeeMo_ 4 жыл бұрын
I imagine with the actual viral context you may have spare time to continue this series ! The crowd ask for it!
@NdamuleloNemakh
@NdamuleloNemakh 4 жыл бұрын
So basically it's, "whatever the parent can do, the descendants should be able to do that [and more]"?
@MilaBarross
@MilaBarross 3 жыл бұрын
Omg, thanks a lot!
@lordmorgoth7
@lordmorgoth7 3 жыл бұрын
it's, "whatever the parent can do, the descendants should at least be able to do that"
@karthikeyancseskcet
@karthikeyancseskcet 3 жыл бұрын
@@lordmorgoth7 great words
@soumavanag5025
@soumavanag5025 2 жыл бұрын
@@lordmorgoth7 golden words
@ipodtouch470
@ipodtouch470 2 ай бұрын
Yes but the big caveat is just because the child must do what the parent is able to do does not mean the child has to do it in the same fashion
@waelsalama84
@waelsalama84 Жыл бұрын
Hey Christopher, Hope you're very fine! I got shocked why did you stop this serious.. where are other parts..?? You're awesome teacher and really you've the skill of explain things in a very clear and easy way.. please don't stop producing these kinds of videos. waiting for other parts .. really in a big need to them .. really appreciate your efforts .. Keep it up!
@SakethSusarla
@SakethSusarla 4 жыл бұрын
unique perspective and wonderful deconstruction, thanks for sharing :) it's 2020, still waiting for part 2...
@ringoaikocascade
@ringoaikocascade 2 жыл бұрын
I am so excited for the part 2. Especially for the past several years I've been avoiding variance, covariance etc and could really use his intuitive explanation.
@michor10
@michor10 2 жыл бұрын
Yup, we're all waiting for the rest.
@jfilipcic
@jfilipcic 2 жыл бұрын
Still waiting
2 жыл бұрын
Is part 2 ever coming? We are all looking forward to it!
@davidzhou9834
@davidzhou9834 Жыл бұрын
It's 2022
@radu5log76
@radu5log76 6 жыл бұрын
Thank you. You have really helped me understand Design Patterns and now SOLID. You are not assuming we know what you're talking about and that really helps get your knowledge across.
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Thanks! Your comment is super helpful :) Much appreciated :) Thanks for watching and for the feedback :)
@Vendavalez
@Vendavalez 3 жыл бұрын
This is one of the best explanations for this principle that I have been able to find out there. For many of them I would walk away feeling like I understood everything that was being said, but not like a I learned something that I could apply, let alone ideas on how to apply it. I would love for this series to be completed if you have the chance or for you to address the topic as part of another series.
@RocckeFella
@RocckeFella 3 жыл бұрын
Bro you are doing a really good job. I really love the way you explain things.. more power to you.
@davidecullen1
@davidecullen1 5 жыл бұрын
Thank you! You helped me understand this principle the day before an interview!!
@kinvain
@kinvain 3 жыл бұрын
Wow! It takes you only 16 minutes to explain me Liskov principle and finally I can understand it. You are simply amazing!
@jctkc
@jctkc 5 жыл бұрын
You are the best man!! I've watched all your videos about Design Patterns and now I'm watching this and your explanation is simply great!. Thanks a lot!
@shiblimohammadarafat6602
@shiblimohammadarafat6602 6 жыл бұрын
It's indeed a great lecture! I have been trying to understand Liskov's Substitution Principle for a long time. Obviously I had some understandings which is correct but I also had some confusions as well. But your explanation is so clear that now I don't have any confusion about it. Thank you so much.
@tsvetanpetrov5971
@tsvetanpetrov5971 2 жыл бұрын
Amazing! Usually, this is one of the hardest questions during interviews. Thank you for the hard work!
@lda573
@lda573 5 жыл бұрын
When you started to use different colors, Evrika! LSP started to make sense! good job! thank you
@RamKumar-kv1fx
@RamKumar-kv1fx 4 жыл бұрын
I though I knew Liskov's Substitution Principle for around a year but its only today I understand it correctly. Thank you very much Christopher Okhravi
@c4stus
@c4stus 6 жыл бұрын
Great as always Christopher, love your videos and your way of explaining stuff, don't stop please :)
@yawar110
@yawar110 6 жыл бұрын
Gist: The subtype MUST be able to do what its base type can do - Excellent clip! Keep posting good stuff.
@sunnyshekhar862
@sunnyshekhar862 5 жыл бұрын
Just discovered your channel... And my my, What a fine job you have done explaining these concepts. I am from a non-Computer Science Background and even I was able to understand the logic in one go !! Seems like it's been more than an year that you did the 1st episode... Not sure why you dropped the Series... but like me many would love to see the 2nd and subsequent episodes in this series. 😇
@0xlilx0
@0xlilx0 5 жыл бұрын
Great explanation! Been reading about it for an hour and nothing made sense, but your video made it clear :)
@guzideesra4743
@guzideesra4743 4 жыл бұрын
I swear, you should be the Dean of my University. Thank you a lot Mister Bean
@StuartLoria
@StuartLoria 4 жыл бұрын
When I study I vocalize my ideas similar to how Christopher conducts his presentations. I love the demystification of concepts in order to allow more people to get the job done, and enjoy engineering, no reason to be selfish or arrogant, these youtubers are fighting the good fight I think.
@ChristopherOkhravi
@ChristopherOkhravi 4 жыл бұрын
💛💛
@marcodallaba
@marcodallaba 4 жыл бұрын
Please continue this series, you're awesome!
@irgatyus3090
@irgatyus3090 6 жыл бұрын
Thanks a lot man for your visionary approach. I'm about to get my dream job thanks to your educational channel. Keep up the good work.
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Wow! Thats cool! Congratulations for the new job! 🙂🙂
@asharnavya
@asharnavya 5 жыл бұрын
Really great way of teaching the things, i loved to learn from you.
@giveexamples
@giveexamples 6 жыл бұрын
Learn the most difficult things while your brain stopped and doesn't work with Cristopher's magical videos. Thank you man.
@MultiPauwel
@MultiPauwel 5 жыл бұрын
Top Notch explanation, i'm not a native english speaker and i followed some guides on PluralSight, came here because i still didn't get. Now i heared u talking, it's darn simpel, once u get it! Thanks alot!
@volkancoskun6934
@volkancoskun6934 6 жыл бұрын
This is excellent. I look forward to new part. You're awesome
@MontagoDK
@MontagoDK 6 жыл бұрын
part 2 ?
@bananek131
@bananek131 6 жыл бұрын
+1
@sebastianvera5830
@sebastianvera5830 5 жыл бұрын
+1
@abderrahimouakki6734
@abderrahimouakki6734 5 жыл бұрын
+1
@pparturo2007
@pparturo2007 5 жыл бұрын
+1
@yevheniisemendiak2501
@yevheniisemendiak2501 5 жыл бұрын
+1
@ooredroxoo
@ooredroxoo 6 жыл бұрын
The funny thing is that you had a video on Liskov Substitution Principle posted on July 2016, that was the video that made me discovery your channel.
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Haha :) Awesome! Super thanks for sticking around :D :D
@abhilashbandi3866
@abhilashbandi3866 6 жыл бұрын
Thanks for this :) I believe understanding SOLID will help in understanding Design patterns a lot better.
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Thanks! I’m glad to hear :) It’s all connected indeed! :)
@harishnamjoshi
@harishnamjoshi 6 жыл бұрын
Chris you are a savior. Just love you videos. Waiting for next episode. 👍
@iwanttolearn8939
@iwanttolearn8939 6 жыл бұрын
Thank you sir! :) I'll share this with my friends. very helpful.
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Yeehaw! Thank you very much :) And thank you for watching :)
@raymondho2
@raymondho2 6 жыл бұрын
Thank you so much! This is a great video to explain horrible LSP and really helped me to understand it :)
@zbigniewcwiakalski7253
@zbigniewcwiakalski7253 3 жыл бұрын
Ech. That would be super cool to hear more about this in the next episode .... Hope it's going to be created eventually ;) regards
@Erdling123
@Erdling123 6 жыл бұрын
Not only a great explanation, this was entertaining as well.
@suhas002
@suhas002 6 жыл бұрын
Great work man .. you are making things easy to understand.. waiting for other principles ..
@aymanshaawat
@aymanshaawat 4 жыл бұрын
I really hope that you continue this series. Or at least start a new one talking about the same topic.
@mikemihay
@mikemihay 5 жыл бұрын
Thank you! Please continue the tutorials!
@soufrk
@soufrk 6 жыл бұрын
Really makes it's simpler to understand !! Way to go
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Thanks! I’m glad to hear :)
@shaimaaaltaay5183
@shaimaaaltaay5183 6 жыл бұрын
OMG thank you so much I have an exam on Wednesday and I was lost with LSP principle.... I never enjoyed a lesson this much before thank you again
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Aha. Great stuff :) How convenient :) :) Best of luck on the exam! 👍👍
@shaimaaaltaay5183
@shaimaaaltaay5183 6 жыл бұрын
Christopher Okhravi I explained LSP to my friends before exam and they were like “oh that’s it 😮 it’s so easy” and I was like “yeah can you imagine “ and then gave them the link to your KZbin channel 😁 BTW DIP came in the exam not LSP 😂 except that scenario question with classes and DIP example I think I did well
@theisegeberg
@theisegeberg 6 жыл бұрын
While watching your design patterns videos (I watched all of them, all of the way through..) - I wished that you would do the SOLID principles as well, and here we are :)
@DominikRoszkowski
@DominikRoszkowski 6 жыл бұрын
Great, clear and funny as always! Thanks a lot
@TheLifeRockss
@TheLifeRockss 5 жыл бұрын
2018 almost finished.. still no part 2? you can't do that to us mate :-)... Imagine Game of Thrones not releasing season 8
@hiteshchalise3988
@hiteshchalise3988 4 жыл бұрын
now after watching season 8, I wish they didn't released it. lol
@avnishsinghtomar7783
@avnishsinghtomar7783 4 жыл бұрын
we would have lived without season 8.
@reyazahmed9320
@reyazahmed9320 5 жыл бұрын
Please do the other parts Christopher. You are awesome!
@vunguyenhoang3704
@vunguyenhoang3704 2 жыл бұрын
really hope to see the next part. You are amazing broo
@swatisingh8399
@swatisingh8399 5 жыл бұрын
All your explanations are so good and simple , its like listening to a story , so interesting , although I see you don't have a part 2 for this :( , requested by a lot of users
@B-Billy
@B-Billy 6 жыл бұрын
Woow... That was awesome Please keep it up.. Great job And yeah, thanks for sharing. BTW, I missed that cat 🐈 LOL
@kevinbenavides92
@kevinbenavides92 6 жыл бұрын
Thank you Chris. Please continue this series on the SOLID principle if possible. Your the best.
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Thanks! Will do :) Thanks for watching :)
@UrzaRage778
@UrzaRage778 4 жыл бұрын
You're fantastic at explaining things! (Much like Tim Corey) - where'd you go?!
@IlyaShap
@IlyaShap Жыл бұрын
Wow! You’re an awesome teacher. Thank you so much!
6 жыл бұрын
Hi Chris. Thanks for all your videos. You have the skill to explain complex things easily. Do you plan to make a video about open close principle ?
@rupn9633
@rupn9633 3 жыл бұрын
Very Unique way of explanation, I have see many videos on SOLID principles , this one standout. Great!!!
@janabodu3392
@janabodu3392 2 жыл бұрын
Mr Bean mastered design principles and became Christopher Okhravi...Great Explanation ...Thank you..
@babindakistvan
@babindakistvan 5 жыл бұрын
Thank you so much, really nice job!
@Mochilador
@Mochilador 6 жыл бұрын
You rock! Thank you for these videos!
@farzinfaghirnavaz1027
@farzinfaghirnavaz1027 5 жыл бұрын
You are incredible, thanks for your time please keep it up
@ChristopherOkhravi
@ChristopherOkhravi 5 жыл бұрын
And thank *you* very much for watching :) :)
@ireneuszzagan9725
@ireneuszzagan9725 6 жыл бұрын
Reaaaaaally want to see the next episde :)
@jg5645
@jg5645 5 жыл бұрын
Chris
@a.rohimsama7222
@a.rohimsama7222 4 жыл бұрын
Yeah, the same here I like him.
@aymanshaawat
@aymanshaawat 6 жыл бұрын
Your videos are great Waiting for the rest of the playlist
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Glad to hear :) New design patterns video coming Monday but after that hopefully another LSP video. Thanks for watching :)
@aymanshaawat
@aymanshaawat 6 жыл бұрын
Christopher Okhravi That is also good I am following the design pattern playlist too xD
@user-yi4zd6gh5h
@user-yi4zd6gh5h Жыл бұрын
the best explanation pf lsp. Please return to make these videos. You are one of the best teacher on youtube
@cetiah
@cetiah 4 жыл бұрын
I just recently learned from one of your videos that the snail would speak, but it would have a NullSpeaking behavior that's returned when you run Speak() on the snail.
@salmanahmedkhan3979
@salmanahmedkhan3979 Жыл бұрын
Preparing for exam and this masterpiece is pop up. Great Explanation
@johnconnor9787
@johnconnor9787 5 жыл бұрын
Please continue making these videos!)
@tejeshB19
@tejeshB19 6 жыл бұрын
Amazing explanation !! Thanks a lot :)
@MrVankog
@MrVankog 6 жыл бұрын
Great topic for a new series!
@ChristopherOkhravi
@ChristopherOkhravi 6 жыл бұрын
Thanks! I’m glad the topic is appreciated :)
@PurpleSplash24
@PurpleSplash24 6 жыл бұрын
Excellent explanation. Eagerly waiting for videos on remaining 4 principles.
@georgebockari289
@georgebockari289 5 жыл бұрын
I'd really love to see you pick this back up.
@taskapptaskapp3138
@taskapptaskapp3138 6 жыл бұрын
You are great man. You should have more views. I wish you all the best, greetings from Poland. :)
@yogini1351
@yogini1351 2 жыл бұрын
Hello Christoph, You are awesome. I think I have watched almost all of your sessions on design patterns. This one is also amazing and simplified, but I didn't find the part 2 in this playlist. Could you please help with quick link?
@jeffdosser4251
@jeffdosser4251 6 жыл бұрын
Your vids are great. More ppl should be watching them.
@danielmilewski7659
@danielmilewski7659 2 жыл бұрын
cannot wait for part 2 !!!!
@mufizshaikh8439
@mufizshaikh8439 3 жыл бұрын
It was very easy to understand with the help of your video. Thank you
@opsherx
@opsherx 2 жыл бұрын
this guy is so excited hahah thank you man
@naito016
@naito016 4 жыл бұрын
2020 year, after a lot of videos listening blah blah and blah about Liskov's Substitution, finally understand the Liskov Substitution Principle then I Think this video was awesome need the next one, it's pretty weird that KZbin is not showing part two on following video, go to authors channel, looking for the part two that never comes.
@saurabhsuman4960
@saurabhsuman4960 4 жыл бұрын
You are amazing. I love the way you explain. 👌
@soniajain07
@soniajain07 4 жыл бұрын
you rock! Looking forward for your pat2
@pawekrzyzak4345
@pawekrzyzak4345 3 жыл бұрын
I have still waited for the next one!
@josiahtobas9172
@josiahtobas9172 5 жыл бұрын
Great explanation, thanks a lot.
@cschandragiri
@cschandragiri 6 жыл бұрын
Keep going on SOLID principles. Great expressions at 5:36 :)
@cehdmoy
@cehdmoy 5 жыл бұрын
Break Liskov is too easy, that's another reason because we should not use inheritance just for "reuse" code porpuse. Well if you know what are u doing, please feel free to use inheritance. But even Efective Java encurage developer to prefer composition instead of inheritance. My point is when we use inheritance IMHO we are so naive and we think that we can handle it, but finally we get a dog that acts like a airplane (LOL) and we have broken Liskov.
@alecc8231
@alecc8231 3 жыл бұрын
Thank you Roberto. That's quick and easy to understand. If inheriting from dog you end up with an airplane = breaking of the Liskov's substitution principle. Quick and easy to remember. LOL. From now on I'm going to use your explanation.
@nitingupta1989
@nitingupta1989 6 жыл бұрын
Hi Chris, The content is really good and helpful in understanding the intricacies of software design. Are you going to publish more videos on SOLID principles? Thanks :)
@AustinCS
@AustinCS 6 жыл бұрын
Yea, I definitely need the second part lol
@ronironion
@ronironion 4 жыл бұрын
Awesome man! So easily served!
@hana-games
@hana-games Жыл бұрын
part 2 to save my life
@dantesp7557
@dantesp7557 5 жыл бұрын
Hey awesome explanation man, I have just started with code architectures and agile coding and have been able to get a grip on OOD just because of your channel big thanks for that and I have started recommending to everyone at my university who are interested in code architecture :D I also have a tiny requestm, if at all possible, I am presently looking at data oriented design approach... I am planning my carrer in gaming industry (programming obviously ;) ) and recently discovered issues regarding cache miss and other low level cost and with data oriented design architecture stating that it can be used to write high performance code specially for games. I searched and went through many resources but I cant seem to wrap my head around it. Many veteran programmers seem to know this by experience but since I am a novice I am unable to figure out whats happening or how to structure the data acc to DOD rather than OOAD... If you could share a little light on it then would be great... thanks again for bringing agility to my code :D :D
@cepi24
@cepi24 2 жыл бұрын
Sir you are doing great job and seems you are enjoying it
@AdrianBlogs
@AdrianBlogs 4 жыл бұрын
I like your way of speaking you also speak English very well and I understand what you say
@meetrjsingh
@meetrjsingh 4 жыл бұрын
Thank you for the wonderful explanation
@rubenbasketpalencia
@rubenbasketpalencia 6 жыл бұрын
You can also talk about he exception throwing. A subclass mustn't throw an exception that it superclass can not throw. (correct me if I am wrong) Thanks for your videos!
@aprendemusica1931
@aprendemusica1931 2 жыл бұрын
Love his passion teaching 💞
@tusherkhan7531
@tusherkhan7531 3 жыл бұрын
Thanks for making it easy!
@felipeignaciocastrojara5065
@felipeignaciocastrojara5065 3 жыл бұрын
THANKS bro, love from Chile!
@ruioliveira2230
@ruioliveira2230 6 жыл бұрын
Will you ever finish this series? Good job on the Patterns playlist
@asharnavya
@asharnavya 5 жыл бұрын
I am waiting for you next part of this series. When you are going to post ?
@rohitkalya
@rohitkalya 3 жыл бұрын
Hi Chrisopher, Can you please post the 2nd part of this video.
@divyeshkumarbalar7732
@divyeshkumarbalar7732 5 ай бұрын
its been 4 years since i commented, still waiting for part 2 :)
@sergiubarsa1607
@sergiubarsa1607 6 жыл бұрын
Great video. Are you planning on releasing more SOLID-related videos?
@wassimmehanna4402
@wassimmehanna4402 2 жыл бұрын
Any chance that you could do a continuation for that video ? Many thanks!
@djordjepetrovic2365
@djordjepetrovic2365 3 жыл бұрын
Great lecture, thank you!
@mrinaldhawan3959
@mrinaldhawan3959 2 жыл бұрын
Great videos man! Complete this series. I have already watched the Code Walks of SOLID. This came to my mind while watching this video. Not sure if this is a correct analogy! At 14:17 when Chris holds the RED and GREEN Markers on screen, We believe that GREEN is Subtype of RED. Lets suppose the Marker Caps are properties of the Markers. If we remove the Cap from RED and replace it with GREEN marker cap, it should fit perfectly as GREEN is truly subtype of RED.
Strategy Pattern - Design Patterns (ep 1)
35:11
Christopher Okhravi
Рет қаралды 1,4 МЛН
ТАМАЕВ vs ВЕНГАЛБИ. Самая Быстрая BMW M5 vs CLS 63
1:15:39
Асхаб Тамаев
Рет қаралды 4,3 МЛН
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 7 МЛН
Cute Barbie Gadget 🥰 #gadgets
01:00
FLIP FLOP Hacks
Рет қаралды 61 МЛН
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30
Liskov Substitution Principle
20:16
Christopher Okhravi
Рет қаралды 10 М.
The Only Time You Should Use Polymorphism
13:55
Christopher Okhravi
Рет қаралды 87 М.
SOLID Design Principles in java with Example | JavaTechie
34:44
Java Techie
Рет қаралды 175 М.
This is the Only Right Way to Write React clean-code - SOLID
18:23
SOLID Principles: Do You Really Understand Them?
7:04
Alex Hyett
Рет қаралды 128 М.
When Microsoft Violated Liskov Substitution Principle in .NET
18:16
Christopher Okhravi
Рет қаралды 38 М.
5 Design Patterns That Are ACTUALLY Used By Developers
9:27
Alex Hyett
Рет қаралды 188 М.
Always Use Interfaces
8:08
Christopher Okhravi
Рет қаралды 44 М.
ТАМАЕВ vs ВЕНГАЛБИ. Самая Быстрая BMW M5 vs CLS 63
1:15:39
Асхаб Тамаев
Рет қаралды 4,3 МЛН