SOLID Principles - Low Level Design | Coding Interview Series | The Code Mate

preview_player
Показать описание
SOLID Principles :

Creating a quality code throughout the development phase is undoubtedly the mission of any developer who really cares about your software product. The use of best practices tends to reduce code complexity, the coupling between classes, separating responsibilities and well defining the relations between them. These are simple ways to improve code internal quality.

The following 5 concepts make up our SOLID principles:

Single Responsibility
Open/Closed
Liskov Substitution
Interface Segregation
Dependency Inversion

The Session will give you a brief insight into various SOLID Principles, Through this session, you learn the benefits of SOLID principles with the examples.

#lld #llddesign #systemdesign #design #interviews #solid #solidprinciples
Рекомендации по теме
Комментарии
Автор

Timestamps :
S - Single-responsibility Principle - 1:58
O - Open/closed Principle - 5:33
L - Liskov substitution Principle - 9:16
I - Interface segregation Principle - 13:03
D - Dependency inversion Principle - 15:30

dhanushdhama
Автор

This has given me basic understanding on SOLID principles. In many videos, only it's theoritically explained, I could see code examples in this video.
Thank you very much!!

mahenderp
Автор

SOLID description with SOLID examples..👍🏼 really appreciate. Thanks a lot. Please share links of other videos.

sudiptaaps
Автор

The best thing which you've done is by explaining all principles with code examples, most of the youtube videos are theoretical and it doesn't really make any sense, You're done a great job, thanks a lot

shivaprasad
Автор

what you explained in Liskov Substitution is still will not be able to interchange/replace vehicle subtypes, because vehicleWithEngine will have different method and vehicleWithoutEngie will have different me if i am wrong and clear doubt

GauravSharma-wbse
Автор

The BookPrinter class breaks the open and closed principle. If you want to implement a new medium, you would have to go to the class and add new methods. Fix should be creating an interface Printer and has a method print and concrete classes can be create from that interface.

actzful
Автор

Irrespective of what some comments say about the negative feedback, THIS IS AN AMAZING EXPLANTATION💯💯

palakmantry
Автор

Just awesome, super crisp and clear, and quality content, Thanks! Looking forward to more videos😇

aashishbudania
Автор

Boss thank you very much for your explanation. its nice. It is one of the GUN SHOT interview questions. I could not able to tell these SOLID principles. Thank you once again and GOD BLESS YOU.

raghuvardhansaripalli
Автор

With the code snippets it became really easy to understand. Thx bro !!
Also I am very new to DS and Algo and CP. Can you make a video what should be a path a beginner like me to excel in this area.
I searched a lot but did not find any satisfactory answers.

fstreamdl
Автор

In the interface segregation principle's example, is it better that we extend TwoDimensionalShape interface in ThreeDimensionalShape because it is legit for ThreeDimensionalShape to calculate area and volume?

aswintimalsina
Автор

Good Explanation but the Dependency inversion principle is completely different from Dependency injection

santhoshisunaina
Автор

Thanks a lot. Liked and subscribed. Hopefully I get asked this question in the interviews.

kewtomrao
Автор

So I have one doubt in "O" ->
how will the operation then be called like I want to call add or div ? Is this again based on some switch case ?

akgpian
Автор

I think Liskov substitution Principle that you defined is not exact. Example that you provided is about Interface segregation.

VikasRathee-wqmr
Автор

Thank you sir. You have made it simple to understand.

ektayoga
Автор

Nice explanation with good examples. 👍👏

Narasimha_Nimmala
Автор

Awesome explained in detailed.Thanks 👍

ybetrayed
Автор

Thank you so much for such a Great Video.... I think, Dependency Inversion means "Abstractions should not depend on details. Details should depend on abstractions". But there was NO Abstraction used in the example.

dhananajaykrishna
Автор

The most important design principle is "Code to an interface, never to concrete implementations." This principle alone keeps your code extensible and reduces coupling between classes. The moment you add dependency on concrete classes it gets tightly coupled to the implementations of that class and also inextensible.

shubhamchandra