Keine Klasse sollte Methoden implementieren müssen oder von Methoden abhängen, die sie nicht nutzt. Entsprechend sollten Schnittstellen abstrakter Klassen minimal sein. Es gibt Situationen, in denen eine Klasse unterschiedliche Schnittstellen für unterschiedliche Akteure bereitstellen muss. Hier kommt das Interface‐Segregation‐Prinzip (ISP) zum Tragen. Eine Änderung der Schnittstelle erzwingt eine Änderung seines Nutzers. Umgekehrt können aber auch Nutzer Änderungen an einer Schnittstelle erzwingen. Besitzt eine Klasse mehrere Schnittstellen für unterschiedliche Nutzer, dann führt das zu einer Kopplung an sich getrennter Akteure. Genau hier setzt das ISP mit seiner Idee an, Schnittstellen aufzutrennen und für einen Akteur jeweils nur eine minimale, absolut notwendige Schnittstelle bereitzustellen, die zudem von allen anderen Schnittstellen abgeschottet (gekapselt) ist. Diese Entkopplung macht den Code übersichtlicher und sorgt für Flexibilität, Wiederverwendbarkeit und Wartbarkeit.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Das Interface-Segregation-Prinzip

  • Till Biskup

摘要

Keine Klasse sollte Methoden implementieren müssen oder von Methoden abhängen, die sie nicht nutzt. Entsprechend sollten Schnittstellen abstrakter Klassen minimal sein. Es gibt Situationen, in denen eine Klasse unterschiedliche Schnittstellen für unterschiedliche Akteure bereitstellen muss. Hier kommt das Interface‐Segregation‐Prinzip (ISP) zum Tragen. Eine Änderung der Schnittstelle erzwingt eine Änderung seines Nutzers. Umgekehrt können aber auch Nutzer Änderungen an einer Schnittstelle erzwingen. Besitzt eine Klasse mehrere Schnittstellen für unterschiedliche Nutzer, dann führt das zu einer Kopplung an sich getrennter Akteure. Genau hier setzt das ISP mit seiner Idee an, Schnittstellen aufzutrennen und für einen Akteur jeweils nur eine minimale, absolut notwendige Schnittstelle bereitzustellen, die zudem von allen anderen Schnittstellen abgeschottet (gekapselt) ist. Diese Entkopplung macht den Code übersichtlicher und sorgt für Flexibilität, Wiederverwendbarkeit und Wartbarkeit.