Das Interface Segregation Principle (ISP) ist das SOLID-Prinzip von Robert C. Martin, nach dem Clients nicht von Schnittstellen abhängen sollen, die sie nicht nutzen. Es bevorzugt viele spezifische, clientspezifische Interfaces gegenüber einer allgemeinen Universalschnittstelle. So müssen Klassen keine Methoden implementieren, die sie nicht brauchen, und Änderungen an einem Interface treffen keine Clients, die die geänderten Methoden gar nicht aufrufen.

SOLID-Interface Segregation Principle

Details
Vollständiger Name

SOLID Interface Segregation Principle (ISP)

Absicht:

Clients sollten nicht gezwungen werden, von Schnittstellen abzuhängen, die sie nicht nutzen. Bevorzuge viele spezifische Schnittstellen gegenüber einer allgemeinen Universalschnittstelle.

Wann zu verwenden:

  • Klassen implementieren Interface-Methoden, die sie nicht benötigen (leer oder mit Exception)

  • Änderungen an einem Interface betreffen Clients, die die geänderten Methoden nicht nutzen

  • Aufgeblähte Interfaces mit vielen Methoden für unterschiedliche Client-Gruppen

Prompt-Beispiel:

"Refactore dieses Interface nach dem SOLID-Interface Segregation Principle in kleinere, clientspezifische Interfaces."

Verwandte Anker: