Interface Segregation Principle

E811519

The Interface Segregation Principle is a SOLID object-oriented design guideline that advocates for creating small, specific interfaces so that clients only depend on methods they actually use.

All labels observed (1)

Label Occurrences
Interface Segregation Principle canonical 4

How this entity was disambiguated

Statements (46)

Predicate Object
instanceOf software design principle ⓘ
abbreviationOf ISP ⓘ
aimsAt improving modularity of systems ⓘ
minimizing client-side code changes when interfaces evolve ⓘ
appliesTo API design ⓘ
interface design ⓘ
object-oriented design ⓘ
benefit reduces impact of interface changes on clients ⓘ
reduces need for clients to implement unused methods ⓘ
simplifies client implementations ⓘ
supports better testability ⓘ
supports mocking of smaller interfaces ⓘ
category object-oriented programming principle ⓘ
software engineering principle ⓘ
consequenceOfViolation clients depending on methods they do not use ⓘ
harder-to-maintain interfaces ⓘ
increased fragility of client code ⓘ
encourages high cohesion in interfaces ⓘ
low coupling between modules ⓘ
role-based interface design ⓘ
goal improve code flexibility ⓘ
improve code readability ⓘ
increase software maintainability ⓘ
reduce coupling between clients and interfaces ⓘ
support easier refactoring ⓘ
helpsPrevent ripple effects from interface changes ⓘ
unnecessary dependencies ⓘ
violations of the Single Responsibility Principle in interfaces ⓘ
introducedInContextOf SOLID design guidelines ⓘ
linked to: SOLID principles
opposes interfaces with unrelated responsibilities ⓘ
monolithic interfaces ⓘ
partOf SOLID principles ⓘ
promotedBy Robert C. Martin ⓘ
recommends avoiding fat interfaces ⓘ
designing role-specific interfaces ⓘ
grouping related methods into cohesive interfaces ⓘ
splitting large interfaces into smaller, specific ones ⓘ
relatedTo Dependency Inversion Principle ⓘ
Single Responsibility Principle ⓘ
states no client should be forced to depend on methods it does not use ⓘ
typicalExample separating printing and scanning interfaces in a device API ⓘ
separating read and write interfaces for a repository ⓘ
usedIn interface-based APIs ⓘ
microservices design ⓘ
object-oriented programming ⓘ
service-oriented architectures ⓘ

How these facts were elicited

Referenced by (4)

Full triples — surface form annotated when it differs from this entity's canonical label.

Single Responsibility Principle → relatedTo → Interface Segregation Principle ⓘ
Open-Closed Principle → relatedTo → Interface Segregation Principle ⓘ
SOLID principles → consistsOf → Interface Segregation Principle ⓘ
DIP → relatedTo → Interface Segregation Principle ⓘ