Interface Segregation Principle
Interface Segregation Principle states that Clients should not be forced to depend on methods they do not use. Prefer small, [[cohesive]] [[interface]]s.
Historical BackgroundΒΆ
- First public formulation belongs to [[Uncle Bob]]
- Uncle Bob applied Interface Segregation Principle working for Xerox
- That was a [[printing system]]
-
A single job task contained fat list of tasks even though there was no use for them.
-
[[Interface Segregation Principle Violations]] result in [[class]]es that depend on things they do not need, increasing [[coupling]] and reducing [[maintainability]].
Interface Segregation Principle Demo Interface Segregation Principle Refactorings Interface Segregation Principle Common smells and Related Design Patterns
Single Responsiblility Principle vs Interface Segregation Principle