Einzelnen Beitrag anzeigen

r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#6

AW: Vererbung bei Interfaces - Gut oder schlecht?

  Alt 27. Jan 2014, 18:51
Hm...

- Vererbung sollte man *immer* mit Bedacht einsetzen. Das ist wie ne Kettensäge. Richtig eingesetzt sehr hilfreich. Falsch eingesetzt gefährlich. Wenn man vererbung macht, sollte man einen guten Grund dazu haben.
- Vererbung unter Interfaces ist nicht per se schlimm. Aber sie ist seltenen sinnvoll.
- Häufig ist Vererbung unter Interfaces schlecht, weil sie Klassen, die Interface A implemenmtieren, zwingt, auch Interface B zu implementieren, was rein logisch betrachtet oft nicht nötig oder sinnvoll ist. Deshalb gibt es das Interface Segregation Principle (ISP), das besagt, dass Interfaces getrennt sein sollten. Bob Martin formuliert das so: "Clients sould not be forced to depend on methods that they do not use".
- DAs bringt uns noch zu was ganz anderem: Interfaces sind kein Selbstzweck. Sie sind *nur* dann sinnvoll, wenn es auch Variablen gibt, die mit dem Interface-Typ deklariert werden. Wenn du keine einzige Variable vom Typ IMyFancyInterface hast, sondern nur davon ableitest, ist das Interface schon falsch, weil wertlos. Es ist zusätzlicher Code, den keiner braucht. Ob das in deinem Fall so ist, kann ich nicht beurteilen, aber mir drängt sich diese Befürchtung auf.
- die Beziehung zum Decorator sehe ich momentan nicht

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat