SOLID Design Principles (An Introduction for .NET Developers)

  Рет қаралды 45,523

DotNet Core Central

DotNet Core Central

Күн бұрын

Пікірлер: 107
@bonkugon
@bonkugon 2 жыл бұрын
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 :)
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
Thanks
@ariana4597
@ariana4597 3 жыл бұрын
Your content is actually amazing. Like im not kidding your videos are so good. Keep it up man
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Arian A, thanks for watching the video, and appreciate your feedback!
@dalmirogranas9990
@dalmirogranas9990 2 жыл бұрын
Finally found a video that takes less than 30 min to explain this and even with examples 🙏🏽
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
Thanks!
@iliashterev38
@iliashterev38 4 ай бұрын
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 ... ??
@itsmebuddy4580
@itsmebuddy4580 3 жыл бұрын
Clean, crisp and up to the point. Well done.
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Gokul Kumar, thanks for watching!
@raisagandiputri2994
@raisagandiputri2994 3 жыл бұрын
This is amazing and crystal clear! Good job, and thank you!
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Raisa Gandi Putri, thanks for watching!
@kimktb
@kimktb 3 жыл бұрын
You did a wonderful job breaking this topic down. Firs t video I have watched where I actually feel like I understand SOLID
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Kim TB, thanks for watching!
@nagendrababu6316
@nagendrababu6316 2 жыл бұрын
Thanks for the clear video on SOLID principles for people who are not from IT Background..
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
Thanks for watching!
@Praveen.Kumar.
@Praveen.Kumar. 3 жыл бұрын
Crisp and clear. Thanks!
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Praveen Kumar, thanks for watching!
@HISUPRIYO
@HISUPRIYO 3 жыл бұрын
Perfect and precise demonstration of the SOLID principles... amazing!
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Supriyo Chatterjee, thanks for watching!
@MaheshChaudhari-xv8ox
@MaheshChaudhari-xv8ox Жыл бұрын
Its good explanation and very easy for understanding... Thanks for sharing! 🙏
@DotNetCoreCentral
@DotNetCoreCentral Жыл бұрын
Thanks!
@oluwaseunliadi9893
@oluwaseunliadi9893 2 жыл бұрын
Clearly Explained. Thanks
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
Thanks for watching!
@SudsPinu
@SudsPinu 2 жыл бұрын
Great explanation. Thanks for the video.😊
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
Thanks
@alexanderagyapong2328
@alexanderagyapong2328 3 жыл бұрын
Clear and straight to the point. Well done 👍🏾
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Alexander Agyapong, thanks for watching!
@nehemiahlimocheburet1411
@nehemiahlimocheburet1411 2 жыл бұрын
so far the best explannation
@EvertonLuizBastiani
@EvertonLuizBastiani 3 жыл бұрын
Awsome. Objective and clear. Thank you so much dude ...
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Everton Luiz Bastiani, thanks for watching!
@cahu01
@cahu01 Жыл бұрын
Well done! Thank you very much. Your video is very helpful.
@DotNetCoreCentral
@DotNetCoreCentral Жыл бұрын
Glad it was helpful!
@KDSBestGameDev
@KDSBestGameDev 3 жыл бұрын
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!!!
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Kevin KDSBest, thanks for watching! And thanks for the great example on Open/Closed principle.
@manjunaika1993
@manjunaika1993 3 жыл бұрын
Thank you for very small, clean and clear explanation, keep up doing the good work :)
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Manju Naika, thanks for watching!
@rakesh-sarjine
@rakesh-sarjine Жыл бұрын
Very good explanation . Thank you
@DotNetCoreCentral
@DotNetCoreCentral Жыл бұрын
Glad it was helpful!
@truptijogi3117
@truptijogi3117 3 жыл бұрын
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.
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@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.
@rahulgharat4460
@rahulgharat4460 3 жыл бұрын
Simple and clear explanation exept dependency inversion principle
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Rahul Gharat, thanks for watching!
@luis-teamsigame8008
@luis-teamsigame8008 3 жыл бұрын
Man, thank so much for explaining this very well!
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@TEAM SIGAME, thanks for watching!
@johnbaltes7518
@johnbaltes7518 3 жыл бұрын
Thanks, really helped me grasp an understanding for SOLID.
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@John Baltes, thanks!
@knightmarerip711
@knightmarerip711 3 жыл бұрын
Very well explained! Keep up the good work!
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Knightmare RIP, thanks for watching!
@jasper5016
@jasper5016 2 жыл бұрын
Thanks for this video.
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
@A P, thanks for watching!
@RGcrasyRG
@RGcrasyRG 3 жыл бұрын
Actually good examples, great video!
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@AlexeyTea, thanks for watching!
@anand.amirtharaj
@anand.amirtharaj 2 жыл бұрын
Great Article
@dy0mber847
@dy0mber847 2 жыл бұрын
Cool explaination, gratz
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
Thanks for watching!
@maheshbhatchandavar
@maheshbhatchandavar 3 жыл бұрын
Really very nice explaination. helped me to understand SOLID principles. thumbsup man👍
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Mahesh Bhat, thanks for watching!
@tourdesource
@tourdesource 2 жыл бұрын
Well explained, thank you.
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
Thanks!
@rowdyghatkar
@rowdyghatkar 3 жыл бұрын
Amazing content but can you make or have a video for all important shortcuts... like you used 'ctor' for constructor...
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Rahul Ghatkar, thanks for watching! I will create a video on shortcuts.
@rowdyghatkar
@rowdyghatkar 3 жыл бұрын
@@DotNetCoreCentral Sure thanks 😊
@rajivsingh8241
@rajivsingh8241 2 жыл бұрын
This is realy amazing video...thanks sir
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
@Rajiv Singh, thanks for watching!
@victoryvictorious633
@victoryvictorious633 2 жыл бұрын
Very clear! Really useful. ❤️❤️❤️❤️
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
@Victory Victorious, thanks for watching!
@gavmajhakhandnal1143
@gavmajhakhandnal1143 2 жыл бұрын
very good explanation
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
@Gav Majha Khandnal, thanks!
@mahendrabalan9229
@mahendrabalan9229 3 жыл бұрын
Great Job bro. Keep rocking
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Mahendra balan, thanks for watching!
@iliashterev38
@iliashterev38 4 ай бұрын
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.
@sanjuprajapati068
@sanjuprajapati068 2 жыл бұрын
Nicely explained..
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
Thanks!
@BhupenderSingh-to3nk
@BhupenderSingh-to3nk 3 жыл бұрын
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.
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@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.
@ashutoshmishra2170
@ashutoshmishra2170 3 жыл бұрын
Thanks a lot . It’s help me a lot .
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Ashutosh Mishra, thanks for watching!
@kiroknight23
@kiroknight23 3 жыл бұрын
Hi can you do a video for each principle in SOLID? in depth tutorial but can easily understand by beginners.
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Kiro Keizeki, thanks for watching! Sure I will do.
@yazhodha
@yazhodha 3 жыл бұрын
Understandable. Thanks!
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@yashodha srimal, thanks for watching!
@selviazs9242
@selviazs9242 Жыл бұрын
Hello . Sorry i asking for the first code OrderProcessor thats in controller or services file ?
@abhinavladdha8596
@abhinavladdha8596 3 жыл бұрын
nice and precised explanation👍👍
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@ABHINAV LADDHA, thanks for watching!
@leolocoism
@leolocoism 3 жыл бұрын
F* greate content dude, amazing, thanks
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Leonardo Henrique, thanks for watching!
@ravitejavoleti784
@ravitejavoleti784 3 жыл бұрын
Thank u so much dude..u explaination is awesome. Please create videos on design patterns also. If possible
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Raviteja Voleti, thanks for watching! In design patterns, what exact pattern you are looking for?
@DebasmitSamal294
@DebasmitSamal294 2 жыл бұрын
excellent
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
thanks
@samiriraqui750
@samiriraqui750 2 жыл бұрын
is that dependency inversion that you have used in 7:36 during the process of explaining the single responsibility principle? Thank you in advance
@darkydrone
@darkydrone 3 жыл бұрын
Making a class for every single method is a bit of an overkill for me.
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@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.
@saurabhchauhan232
@saurabhchauhan232 3 жыл бұрын
Thank you !
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Saurabh Chauhan, thanks for watching!
@mahendranchinnaiah7593
@mahendranchinnaiah7593 3 жыл бұрын
Thank you so much
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Mahendran Chinnaiah, thanks as always for watching the video!
@voltairend
@voltairend 2 жыл бұрын
Thanks
@bhanukanagala5732
@bhanukanagala5732 2 жыл бұрын
The code which you had explained will it execute and give output??
@DotNetCoreCentral
@DotNetCoreCentral 2 жыл бұрын
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.
@manjunaika1993
@manjunaika1993 3 жыл бұрын
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.
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@Manju Naika, I will take a look and see if I can help you out with that.
@ThemisTheotokatos
@ThemisTheotokatos 3 жыл бұрын
So basically you create classes and each class has one simple method in it for the first two principles ?
@DotNetCoreCentral
@DotNetCoreCentral 3 жыл бұрын
@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.
@liamsmith6600
@liamsmith6600 2 жыл бұрын
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
@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.
@divyasinghpawar3983
@divyasinghpawar3983 2 жыл бұрын
I don't understand Why still you guys take example of birds and animals?? Lack of creativity?
SOLID  Principal - Interview Questions and Answers
24:04
Interview Happy
Рет қаралды 117 М.
SOLID Design Principles in java with Example | JavaTechie
34:44
Java Techie
Рет қаралды 194 М.
How to whistle ?? 😱😱
00:31
Tibo InShape
Рет қаралды 21 МЛН
黑的奸计得逞 #古风
00:24
Black and white double fury
Рет қаралды 28 МЛН
Хасанның өзі эфирге шықты! “Қылмыстық топқа қатысым жоқ” дейді. Талғарда не болды? Халық сене ме?
09:25
Демократиялы Қазақстан / Демократический Казахстан
Рет қаралды 355 М.
SOLID Principles in Laravel: 5 Examples (+ New Course!)
21:07
Laravel Daily
Рет қаралды 74 М.
Learn SOLID Principles with CLEAN CODE Examples
28:35
Amigoscode
Рет қаралды 276 М.
SOLID Principles for C# Devs (DevReach 2018)
54:07
Progress Telerik
Рет қаралды 3,7 М.