Diskussion:Interface-Segregation-Prinzip

Naja, den Quellcode kann man so eigentlich nicht im Artikel stehen lassen

Bearbeiten

Wenn eine instance von IPerson immer ILoad und ISave implementieren muss, was hier im Quellcode indirekt gegeben ist (der Autor casted die variablen ohne Fehlerbehandlung) muss auch das Interface IPerson die Interfaces ISave und ILoad implementieren. Das Beispiel taugt also nicht. (nicht signierter Beitrag von 2003:ee:3f26:9f:43d:b2cc:d78b:8589 (Diskussion) 19:20, 29. Dez. 2021)

Die Beispiele sind tatsächlich schlecht, da sie nicht Module sondern nur eine einzelne Anwendung beschreiben, die alle Schnittstellen benutzt. Eine Aufteilung wie hier beschrieben ist nicht sinnvoll und beschreibt das InterfaceSegratationPrinciple nicht (da es keine Module beschreibt, die nur von dem Interface abhängen, welches sie benötigen).
Korrekter wäre es, wenn z.B. Person aus/in ein ByteArray erzeugt/umgewandelt (Schnittstelle HasBinaryRepresentation) werden könnte und dasselbe mit einem XML-String (Schnittstelle HasXmlRepresentation). Und dann 2 Module, eines welches HasBinaryRepresentations laden/speichern kann und eines welches HasXmlRepresentations z.B. über ein Netzwerk schicken kann. --Sebastian.Dietrich  ✉  10:34, 30. Dez. 2021 (CET)Beantworten