Whoa..this is the best explanation that I have seen from you. Please if you have some time, Recap the Design Patterns tutorials like this fashion. This is the type we are expecting Thanks Avish
I absolutely concur! Why do some people make simple concepts hard to understand now a days? The examples they use don't connect or serve as a continuation of the previous idea at all, so that you can get the entire picture of how all the ideas type together. I searched and searched even on youtube but everywhere I go, the same thing is repeated over and over. It's like they don't want you to understand it, although that's not really true. Assumptions are a killer when teaching a concept, in my book, unless it's pretty obvious that something fundamental can be assumed of the topic, in order to understand something else. Thank you sir for explaining thoroughly and using examples that are connected to each other in order to teach this web of software design concepts.
How will you handle the backward compatibility in case of Interface Segregation, if some client already implemented the interface. The above solution (Segregation of interface in small interfaces) will break the client code.
for SRP, you break down the interface to some other interfaces to ensure that each interface does its SINGLE responsibility on its own that if an interface is called IUser then it should have methods that are ONLY considered with the user.. so, it doesn't include anything related to errors for example. in other words, when you see a class's or an interface's name you should have a conclusion about its responsibility. For ISP, if you have a class for example that inherits from an interface, then it MUST USE ALL of the methods inside of it.. so you can't have a method in there which the class doesn't use or need.. so, for multiple classes and one interface for example, you break down the interface based upon what are the classes that need the same methods and use them all, and by that you have number of interfaces instead of one big interface that includes ALL of these methods. I hope it's clear now
Vishal Pathak violation of ISP is when you force a client to implement unsupported operations where in SRP you are putting all kinds of tasks in a single class.
I wonder if this example follows Liskov, since neither HpLaserJet nor Cannon class are inherited from any parent. So it seems hard to achieve loose coupling.
What is the difference Single Responsibility Principle and Interface segregation then ??? All was explained same - We want @kudvenkat to demonstrate it.
The single responsibility principle applies to multiple cases meanwhile this principle is specific to interfaces and they address different problems. The single responsibility principle refers to objects having to do one single thing and the interface segregation principle refers to an object not having to deal with functionality it doesn't need by accessing a reference via / implementing an interface. The previous example he gave should have been with functionality separation in classes for the difference to be more obvious .
It is important to note that the code for the classes will need to be updated to implement the interfaces as follows: class HPLaserJet : IPrintScanContent, IFaxContent { ... } class CannonMG2470 : IPrintScanContent { ... }
Hey Kudvenkat or anyone else can they please tell me what is needed to be a C# software engineer there is so much new stuff coming out I just want something that will allow we to create a cool desktop or mobile app please provide a curriculum. Im know c# reasonably well and SQL but dont know where to go from there and I need a job ASAP. I know you said to be a good dot NEt dev you need 1. c# 2.Dot net basics 3. SQL server 4.ADO.NET 5.ASP.NET etc but Isnt it possible to develop apps without all that?
Thank you for watching the video. We strongly recommend you to go through our playlist which addresses all your queries. ruclips.net/user/kudvenkatplaylists
Everything looks perfect but your course is breaking the rules of the SOLID principle for learning (not for coding) which says that no video should force you to watch another video in order to understand the concept fully... hahaha
Whoa..this is the best explanation that I have seen from you. Please if you have some time, Recap the Design Patterns tutorials like this fashion. This is the type we are expecting Thanks Avish
This was a very well explained video, with the right examples. Keep up the good work.
One of the concise explanation...Thanks a ton
This is awesome, straight and simple to understand. Thanks a lot.
Thank you for watching the video. Really honored with your feedback
I absolutely concur!
Why do some people make simple concepts hard to understand now a days? The examples they use don't connect or serve as a continuation of the previous idea at all, so that you can get the entire picture of how all the ideas type together. I searched and searched even on youtube but everywhere I go, the same thing is repeated over and over. It's like they don't want you to understand it, although that's not really true.
Assumptions are a killer when teaching a concept, in my book, unless it's pretty obvious that something fundamental can be assumed of the topic, in order to understand something else. Thank you sir for explaining thoroughly and using examples that are connected to each other in order to teach this web of software design concepts.
Cool stuff. easy understanding and adapt into our daily work.. Thank you avish
Thank you for watching the video. Really honored with your feedback
Thank you for the explanations because of that I understand the ISP principle clearly!
excellent explanation. thanks
thanks .. for simple example. These principles are hard to get at first by complicated examples. Needs practice and experience..
easy to understand
Excellent tutorial. Thanks a lot.
Thank you so much for your explanations! It's very clear!
Nice explaining, thanks
great video
Thanks for this!
You never mention that I have to inherit from multiple interfaces on HPLaserJet class
you can inherit multiple interfaces just put a coma after the first interface
for example:
class exampleclass: interface1,interface2
{
}
Excellent .....good explanation
Thank you so much
How will you handle the backward compatibility in case of Interface Segregation, if some client already implemented the interface. The above solution (Segregation of interface in small interfaces) will break the client code.
is it not like just single responsibility principle, here are interfaces instead of classes?
what's the key difference between single responsibility and interface segregation principle. Both looks same.
for SRP, you break down the interface to some other interfaces to ensure that each interface does its SINGLE responsibility on its own that if an interface is called IUser then it should have methods that are ONLY considered with the user.. so, it doesn't include anything related to errors for example. in other words, when you see a class's or an interface's name you should have a conclusion about its responsibility. For ISP, if you have a class for example that inherits from an interface, then it MUST USE ALL of the methods inside of it.. so you can't have a method in there which the class doesn't use or need.. so, for multiple classes and one interface for example, you break down the interface based upon what are the classes that need the same methods and use them all, and by that you have number of interfaces instead of one big interface that includes ALL of these methods. I hope it's clear now
What is the difference between Single Responsibility and Interface Segregation principle?
Vishal Pathak violation of ISP is when you force a client to implement unsupported operations where in SRP you are putting all kinds of tasks in a single class.
I wonder if this example follows Liskov, since neither HpLaserJet nor Cannon class are inherited from any parent. So it seems hard to achieve loose coupling.
What is the difference Single Responsibility Principle and Interface segregation then ??? All was explained same - We want @kudvenkat to demonstrate it.
I think SRP, LSP, ISP, these three are same.. Everyone having interface segregation for their needs..
Nice ...
Thank you
Thanks Kudvenkat!
Thank you for watching the video
what is difference between SRP AND ISP both examples point same thing interface segregation.
How can we implement this if our application uses Dependency Injection?
Like what exactly is this different from single responsibility principle??
The single responsibility principle applies to multiple cases meanwhile this principle is specific to interfaces and they address different problems.
The single responsibility principle refers to objects having to do one single thing and the interface segregation principle refers to an object not having to deal with functionality it doesn't need by accessing a reference via / implementing an interface.
The previous example he gave should have been with functionality separation in classes for the difference to be more obvious .
I have a question Kudvenkat ? Is SRP examples and ISP example are same or related ?
Adil Yousuf all solid principle are related to each other
It is important to note that the code for the classes will need to be updated to implement the interfaces as follows:
class HPLaserJet : IPrintScanContent, IFaxContent
{ ... }
class CannonMG2470 : IPrintScanContent
{ ... }
Hey Kudvenkat or anyone else can they please tell me what is needed to be a C# software engineer there is so much new stuff coming out I just want something that will allow we to create a cool desktop or mobile app please provide a curriculum. Im know c# reasonably well and SQL but dont know where to go from there and I need a job ASAP.
I know you said to be a good dot NEt dev you need
1. c#
2.Dot net basics
3. SQL server
4.ADO.NET
5.ASP.NET
etc but Isnt it possible to develop apps without all that?
Thank you for watching the video. We strongly recommend you to go through our playlist which addresses all your queries. ruclips.net/user/kudvenkatplaylists
I think vankat can explain better
Everything looks perfect but your course is breaking the rules of the SOLID principle for learning (not for coding) which says that no video should force you to watch another video in order to understand the concept fully... hahaha
I am a regular viewer of kudvenkat channel. But this guy overacts a lot. Bit bored even the content is good but the way you are explaining is bit over
@Samra Memon yeah may be you are right.. It's what i felt
I think you are a kind of person who needs everything to be spoon feeded. He explained everything nicely. Are you really a developer?