Just began my career in Software Engineering and went over SOLID today. This was almost exactly like the examples shown in my training! This is a great, quick way to introduce yourself to using design principles in code. Thank you :)
@DotNetCoreCentral2 жыл бұрын
Thanks
@ariana45973 жыл бұрын
Your content is actually amazing. Like im not kidding your videos are so good. Keep it up man
@DotNetCoreCentral3 жыл бұрын
@Arian A, thanks for watching the video, and appreciate your feedback!
@dalmirogranas99902 жыл бұрын
Finally found a video that takes less than 30 min to explain this and even with examples 🙏🏽
@DotNetCoreCentral2 жыл бұрын
Thanks!
@iliashterev384 ай бұрын
First - Thank you for your time and efforts to create and educate. Now - there is one thing about SRP that I keep asking. How you can build a car if you car class needs to: start engine, accelerate, steer, decelerate, apply breaks, etc. Lots of responsibilities and no way to escape them. We can create each sub-object separately, like engine, tires, steering system, which can have only one responsibility but in the end we need to combine them. Just like you OrderProcessor - has lots of responsibilities. So ... ??
@itsmebuddy45803 жыл бұрын
Clean, crisp and up to the point. Well done.
@DotNetCoreCentral3 жыл бұрын
@Gokul Kumar, thanks for watching!
@raisagandiputri29943 жыл бұрын
This is amazing and crystal clear! Good job, and thank you!
@DotNetCoreCentral3 жыл бұрын
@Raisa Gandi Putri, thanks for watching!
@kimktb3 жыл бұрын
You did a wonderful job breaking this topic down. Firs t video I have watched where I actually feel like I understand SOLID
@DotNetCoreCentral3 жыл бұрын
@Kim TB, thanks for watching!
@nagendrababu63162 жыл бұрын
Thanks for the clear video on SOLID principles for people who are not from IT Background..
@DotNetCoreCentral2 жыл бұрын
Thanks for watching!
@Praveen.Kumar.3 жыл бұрын
Crisp and clear. Thanks!
@DotNetCoreCentral3 жыл бұрын
@Praveen Kumar, thanks for watching!
@HISUPRIYO3 жыл бұрын
Perfect and precise demonstration of the SOLID principles... amazing!
@DotNetCoreCentral3 жыл бұрын
@Supriyo Chatterjee, thanks for watching!
@MaheshChaudhari-xv8ox Жыл бұрын
Its good explanation and very easy for understanding... Thanks for sharing! 🙏
@DotNetCoreCentral Жыл бұрын
Thanks!
@oluwaseunliadi98932 жыл бұрын
Clearly Explained. Thanks
@DotNetCoreCentral2 жыл бұрын
Thanks for watching!
@SudsPinu2 жыл бұрын
Great explanation. Thanks for the video.😊
@DotNetCoreCentral2 жыл бұрын
Thanks
@alexanderagyapong23283 жыл бұрын
Clear and straight to the point. Well done 👍🏾
@DotNetCoreCentral3 жыл бұрын
@Alexander Agyapong, thanks for watching!
@nehemiahlimocheburet14112 жыл бұрын
so far the best explannation
@EvertonLuizBastiani3 жыл бұрын
Awsome. Objective and clear. Thank you so much dude ...
@DotNetCoreCentral3 жыл бұрын
@Everton Luiz Bastiani, thanks for watching!
@cahu01 Жыл бұрын
Well done! Thank you very much. Your video is very helpful.
@DotNetCoreCentral Жыл бұрын
Glad it was helpful!
@KDSBestGameDev3 жыл бұрын
For Open Closed Principle example, I think instead of making IOrderSaver[] you could have the cache repository get a db IOrderSaver itself and route the save through while being a cache itself. This way really no modification was needed to the "other" module. Brings the point across better IMHO. But thanks alot with those examples!!!
@DotNetCoreCentral3 жыл бұрын
@Kevin KDSBest, thanks for watching! And thanks for the great example on Open/Closed principle.
@manjunaika19933 жыл бұрын
Thank you for very small, clean and clear explanation, keep up doing the good work :)
@DotNetCoreCentral3 жыл бұрын
@Manju Naika, thanks for watching!
@rakesh-sarjine Жыл бұрын
Very good explanation . Thank you
@DotNetCoreCentral Жыл бұрын
Glad it was helpful!
@truptijogi31173 жыл бұрын
Thank you DotNet Core Central for this video. Liskov Substitution Principle example is pretty much similar to Interface Segregation Principle. Please explain difference between this two, it would be much more helpful.
@DotNetCoreCentral3 жыл бұрын
@Trupti Jogi, thanks for watching! Liskov substitution principle at the core suggests using an Interface instead of concrete classes. Now this interface can have multiple methods. Whereas Interface segregation mainly talks about breaking interfaces so that you do that have an overloaded interface. Please let me know if it makes sense.
@rahulgharat44603 жыл бұрын
Simple and clear explanation exept dependency inversion principle
@DotNetCoreCentral3 жыл бұрын
@Rahul Gharat, thanks for watching!
@luis-teamsigame80083 жыл бұрын
Man, thank so much for explaining this very well!
@DotNetCoreCentral3 жыл бұрын
@TEAM SIGAME, thanks for watching!
@johnbaltes75183 жыл бұрын
Thanks, really helped me grasp an understanding for SOLID.
@DotNetCoreCentral3 жыл бұрын
@John Baltes, thanks!
@knightmarerip7113 жыл бұрын
Very well explained! Keep up the good work!
@DotNetCoreCentral3 жыл бұрын
@Knightmare RIP, thanks for watching!
@jasper50162 жыл бұрын
Thanks for this video.
@DotNetCoreCentral2 жыл бұрын
@A P, thanks for watching!
@RGcrasyRG3 жыл бұрын
Actually good examples, great video!
@DotNetCoreCentral3 жыл бұрын
@AlexeyTea, thanks for watching!
@anand.amirtharaj2 жыл бұрын
Great Article
@dy0mber8472 жыл бұрын
Cool explaination, gratz
@DotNetCoreCentral2 жыл бұрын
Thanks for watching!
@maheshbhatchandavar3 жыл бұрын
Really very nice explaination. helped me to understand SOLID principles. thumbsup man👍
@DotNetCoreCentral3 жыл бұрын
@Mahesh Bhat, thanks for watching!
@tourdesource2 жыл бұрын
Well explained, thank you.
@DotNetCoreCentral2 жыл бұрын
Thanks!
@rowdyghatkar3 жыл бұрын
Amazing content but can you make or have a video for all important shortcuts... like you used 'ctor' for constructor...
@DotNetCoreCentral3 жыл бұрын
@Rahul Ghatkar, thanks for watching! I will create a video on shortcuts.
@rowdyghatkar3 жыл бұрын
@@DotNetCoreCentral Sure thanks 😊
@rajivsingh82412 жыл бұрын
This is realy amazing video...thanks sir
@DotNetCoreCentral2 жыл бұрын
@Rajiv Singh, thanks for watching!
@victoryvictorious6332 жыл бұрын
Very clear! Really useful. ❤️❤️❤️❤️
@DotNetCoreCentral2 жыл бұрын
@Victory Victorious, thanks for watching!
@gavmajhakhandnal11432 жыл бұрын
very good explanation
@DotNetCoreCentral2 жыл бұрын
@Gav Majha Khandnal, thanks!
@mahendrabalan92293 жыл бұрын
Great Job bro. Keep rocking
@DotNetCoreCentral3 жыл бұрын
@Mahendra balan, thanks for watching!
@iliashterev384 ай бұрын
I think LSP is more about what Animals/Birds have in common. If Animal sleeps, eats and poops then the Bird should still eat, sleep and poop without touching anything about that behavior, neither in the super or subclass. So should do Ostrich, etc.
@sanjuprajapati0682 жыл бұрын
Nicely explained..
@DotNetCoreCentral2 жыл бұрын
Thanks!
@BhupenderSingh-to3nk3 жыл бұрын
Hello, in Open-closed principle you are suggesting instead of creating another method, we must come up with another type (possibly) and use Interface here for common functionality. But don't you think doing way we will end up creating multiple classes for each functionality required. There may be some exception when we can extend any existing class, could you please mention them, btw great explanation.
@DotNetCoreCentral3 жыл бұрын
@Bhupender Singh , thanks for watching! I personally prefer to keep classes small and responsible for only a single task. And from my experience, I have seen is-a relationship (inheritance) causes long-term pain, whereas has-a (composition through the interface) is much easier to scale when your codebase grows. please let me know if it makes sense why I am advocating for a new class instead of adding a new method.
@ashutoshmishra21703 жыл бұрын
Thanks a lot . It’s help me a lot .
@DotNetCoreCentral3 жыл бұрын
@Ashutosh Mishra, thanks for watching!
@kiroknight233 жыл бұрын
Hi can you do a video for each principle in SOLID? in depth tutorial but can easily understand by beginners.
@DotNetCoreCentral3 жыл бұрын
@Kiro Keizeki, thanks for watching! Sure I will do.
@yazhodha3 жыл бұрын
Understandable. Thanks!
@DotNetCoreCentral3 жыл бұрын
@yashodha srimal, thanks for watching!
@selviazs9242 Жыл бұрын
Hello . Sorry i asking for the first code OrderProcessor thats in controller or services file ?
@abhinavladdha85963 жыл бұрын
nice and precised explanation👍👍
@DotNetCoreCentral3 жыл бұрын
@ABHINAV LADDHA, thanks for watching!
@leolocoism3 жыл бұрын
F* greate content dude, amazing, thanks
@DotNetCoreCentral3 жыл бұрын
@Leonardo Henrique, thanks for watching!
@ravitejavoleti7843 жыл бұрын
Thank u so much dude..u explaination is awesome. Please create videos on design patterns also. If possible
@DotNetCoreCentral3 жыл бұрын
@Raviteja Voleti, thanks for watching! In design patterns, what exact pattern you are looking for?
@DebasmitSamal2942 жыл бұрын
excellent
@DotNetCoreCentral2 жыл бұрын
thanks
@samiriraqui7502 жыл бұрын
is that dependency inversion that you have used in 7:36 during the process of explaining the single responsibility principle? Thank you in advance
@darkydrone3 жыл бұрын
Making a class for every single method is a bit of an overkill for me.
@DotNetCoreCentral3 жыл бұрын
@darkydrone, thanks for watching. I prefer single responsibility for every class, which most of the time ends up being one public function. There are exceptions but mostly one public function per class. But that's just my preference.
@saurabhchauhan2323 жыл бұрын
Thank you !
@DotNetCoreCentral3 жыл бұрын
@Saurabh Chauhan, thanks for watching!
@mahendranchinnaiah75933 жыл бұрын
Thank you so much
@DotNetCoreCentral3 жыл бұрын
@Mahendran Chinnaiah, thanks as always for watching the video!
@voltairend2 жыл бұрын
Thanks
@bhanukanagala57322 жыл бұрын
The code which you had explained will it execute and give output??
@DotNetCoreCentral2 жыл бұрын
No, as you can see these were just examples and did not have any code inside of the body of the methods. The idea is to walk through the principles and how to implement the interface/class structure.
@manjunaika19933 жыл бұрын
Hi, I have seen your JWT implementation video, I guess in several scenarios like creating token classes are not based on SOLID Principles, Can you please make a video on how can I apply SOLID principles on JWT Implementation. I have implemented the same using SOLID principle in all the parts but I am unable to generate JWT and Refresh tokens with Constructor Injection. Is their any workaround or how to go about it. Please help me out.
@DotNetCoreCentral3 жыл бұрын
@Manju Naika, I will take a look and see if I can help you out with that.
@ThemisTheotokatos3 жыл бұрын
So basically you create classes and each class has one simple method in it for the first two principles ?
@DotNetCoreCentral3 жыл бұрын
@Themis Theotokatos, what you are mentioning is for only the first principle. The Open/Close principle is a little different as I explained in the video.
@liamsmith66002 жыл бұрын
i feel the explanation of closed and open and single purpose are too strict as these are open to interpretation as to what a "single purpose" is, as in our workplace we have one class for dealing with the CRUD of each type of data thats seperated into 3 levels of classes, controller class logic class and repository class (and ofcourse the actual shape of the data in its own class) thats what we mean by single purpose, whereas this is single class for method almost. I see no down side in having methods that handle the same type of data in one class, and see a huge mess of files all using the same type for data they are passing and wouldnt consider this what single purpose means. I cant imagine an actual senrio where that would be helpful. we have multiple large projects using single purpose as dealing with single type of data and thats how controllers are auto generated by microsoft.
@naabun7633 Жыл бұрын
I think you're taking single responsibility literally. Having an interface for every granule functionality will lead too 1000s of interfaces. Why not IOrderManager have all managing functionalities since crud is managing responsibility.
@divyasinghpawar39832 жыл бұрын
I don't understand Why still you guys take example of birds and animals?? Lack of creativity?