1. Prinzip der Schnittstellentrennung (ISP: Prinzip der Schnittstellentrennung)
Definition: Es ist besser, mehrere spezialisierte Schnittstellen zu verwenden, als eine einzige allgemeine Schnittstelle. Man kann auch sagen: Erstellen Sie eine einzelne Schnittstelle, erstellen Sie keine aufgeblähte Schnittstelle.
Zwei Definitionen von ISP:
◇ „Kunden sollten nicht gezwungen werden, sich auf Schnittstellen zu verlassen, die sie nicht nutzen“
Ein Client sollte sich nicht auf Schnittstellen verlassen, die er nicht benötigt.
◇ „Die Abhängigkeit einer Klasse zu einer anderen sollte von der kleinstmöglichen Schnittstelle abhängen“
Die Abhängigkeit einer Klasse von einer anderen Klasse sollte auf der kleinsten Schnittstelle basieren. (vom Kunden)
Schnittstellen und Rollen: Unter einer Schnittstelle versteht man eine Sammlung von Merkmalen aller von einer Klasse bereitgestellten Methoden. Auf diese Weise führt die Aufteilung der Schnittstellen zur Aufteilung der Typen. Daher sollte eine Schnittstelle nur eine Rolle darstellen und nicht mehrere Rollen bedienen.
Schnittstellenkontamination: Die sogenannte Schnittstellenkontamination fügt der Schnittstelle unnötige Verantwortlichkeiten hinzu. Die Verschmutzung der Schnittstelle führt zu Wartungs- und Wiederverwendungsproblemen. Das häufigste Problem besteht darin, dass wir zur Wiederverwendung der verschmutzten Schnittstelle gezwungen sind, unnötige Methoden zu implementieren und zu warten. Daher müssen wir das Client-Programm trennen, und das Trennen des Client-Programms bedeutet, die Schnittstelle zu trennen.
So implementieren Sie separate Schnittstellen:
Grundsätzlich gibt es zwei Möglichkeiten, Schnittstellen zu trennen:
1) Verwenden Sie die Delegation, um Schnittstellen zu trennen. (Trennung durch Delegation)
Delegieren Sie die Anforderung einfach an die Implementierungsklasse anderer Schnittstellen, um die erforderlichen Verantwortlichkeiten zu erfüllen, nämlich das Adaptermuster (Adapter).
2) Verwenden Sie Mehrfachvererbung, um Schnittstellen zu trennen. (Trennung durch Mehrfachvererbung.)
Diese Methode implementiert mehrere Schnittstellen, um die erforderlichen Verantwortlichkeiten zu erfüllen.
Beide Methoden haben ihre eigenen Vor- und Nachteile. Normalerweise sollten wir zuerst die letztere Option in Betracht ziehen und die erstere Option wählen, wenn eine Typkonvertierung erforderlich ist.
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/scelong/archive/2009/12/18/5031030.aspx
-