Interface Segregation Principle

GPTKB entity

Statements (24)
Predicate Object
gptkbp:instanceOf software design principle
gptkbp:abbreviation gptkb:ISP
gptkbp:appliesTo object-oriented programming
gptkbp:benefit easier code refactoring
improved code flexibility
increased code maintainability
gptkbp:category software engineering
gptkbp:describes clients should not be forced to depend on interfaces they do not use
gptkbp:example separating printer interface into IPrint, IScan, IFax
gptkbp:firstPublished 2002
gptkbp:focusesOn interface design
gptkbp:goal reduce side effects and frequency of required changes
https://www.w3.org/2000/01/rdf-schema#label Interface Segregation Principle
gptkbp:partOf gptkb:SOLID_principles
gptkbp:promotion splitting large interfaces into smaller, more specific ones
gptkbp:proposedBy gptkb:Robert_C._Martin
gptkbp:publishedIn gptkb:Agile_Software_Development,_Principles,_Patterns,_and_Practices
gptkbp:relatedTo gptkb:Dependency_Inversion_Principle
gptkb:Liskov_Substitution_Principle
gptkb:Single_Responsibility_Principle
Open/Closed Principle
gptkbp:bfsParent gptkb:SOLID_principles
gptkb:Single_Responsibility_Principle
gptkbp:bfsLayer 6