Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:lehre:programmierkonzepte:ws2017:26:index

26. Interface-Segregation-Prinzip

Themen
Das Interface-Segregation-Prinzip
Beispiele für seinen Einsatz
Bedeutung im Gesamtkontext der Software-Architektur
Folien
PDF


Zentrale Aspekte

  • Keine Klasse sollte Methoden implementieren müssen,
    die sie nicht nutzt.
  • Schnittstelle und Nutzer können beide
    Veränderungen der jeweils anderen Seite erzwingen.
  • Klassen können mehrere Schnittstellen
    für unterschiedliche Nutzer erfordern.
  • Benötigt eine Klasse mehrere Schnittstellen,
    werden sie als separate, abstrakte Klassen definiert.
  • Die Entkopplung macht den Code übersichtlicher und
    sorgt für Flexibilität, Wiederverwendbarkeit, Wartbarkeit.

Weiterführende Literatur

Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.

Wie alle anderen SOLID-Prinzipien wurde das ISP von Robert C. Martin prägnant formuliert. Vergleiche dazu Kapitel 12 in [Martin, 2003Martin, Robert C. (2003): Agile Software Development. Principles, Patterns, and Practices, Prentice Hall, Upper Saddle River, New Jersey] und Kapitel 10 in [Martin, 2018Martin, Robert C. (2018): Clean Architecture. A Craftman's Guide to Software Structure and Design, Prentice Hall, Boston]. Das Pendant auf höherer architektonischer Ebene, das Common-Reuse-Prinzip, wird von Robert C. Martin ebenda in späteren Kapiteln formuliert.

Die dem ISP zugrunde liegenden Entwurfsmuster, insbesondere „Interface“ und „Adapter“, finden sich im Buch der „Gang of Four“ [Gamma, 1995Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1995): Design Patterns. Elements of Reusable Object-Oriented Software, Addison-Wesley, Boston] wieder.

  • Gamma, Erich; Helm, Richard; Johnson, Ralph; Vlissides, John (1995): Design Patterns. Elements of Reusable Object-Oriented Software, Addison-Wesley, Boston
  • Martin, Robert C. (2003): Agile Software Development. Principles, Patterns, and Practices, Prentice Hall, Upper Saddle River, New Jersey
  • Martin, Robert C. (2018): Clean Architecture. A Craftman's Guide to Software Structure and Design, Prentice Hall, Boston
de/lehre/programmierkonzepte/ws2017/26/index.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1