2009-05-26 4 views

Antwort

0

Machen Sie einfach die beste vernünftige Vermutung der Zukunft, und wenn Sie mehr brauchen, erstellen Sie eine zweite Version Ihrer Schnittstelle.

3

Testen Sie es sehr. Ich habe noch nie ein Allheilmittel für dieses spezielle Problem gefunden - es gibt verschiedene Strategien, die von den speziellen Bedürfnissen der Konsumenten und den Zielen des Projekts abhängen - zum Beispiel, ob Microsoft das ASP.NET MVC Framework liefert oder ein interne LoB-Anwendung? Aber bis zum einfachsten destilliert, können Sie nie falsch testen.

Durch Testen, meine ich die Verwendung der Schnittstelle, um Funktionalität zu implementieren. Sie testen den Vertrag, um festzustellen, ob er die Anforderungen erfüllen kann. Stellen Sie sich so viele verschiedene Anwendungsmöglichkeiten für die Schnittstelle vor, wie Sie sich vorstellen können, und implementieren Sie sie so weit wie möglich. Whiteboard den Rest, und es sollte klar werden, was fehlt. Ich würde für ein gegebenes "fehlendes Mitglied" sagen, wenn Sie es nicht innerhalb von 3-5 Iterationen treffen, werden Sie es wahrscheinlich nicht brauchen.

+0

+1: Referenzimplementierung. –

0

Sie können es nicht in einem One-Shot-Release tun. Sie brauchen Feedback.

Was Sie tun können, ist zuerst eine saubere Schnittstelle zu schaffen, die alle Funktionalitäten zur Verfügung stellt, die Ihre Bibliothek bieten sollte; stellen Sie es dann Ihrer Benutzerbasis für die reale Verwendung zur Verfügung; Verwenden Sie dann die Feedbacks als Leitfaden, um Ihre Benutzeroberfläche zu aktualisieren, ohne dass Sie andere Funktionen als Hilfsfunktionen/-klassen hinzufügen, bis sie auf der Benutzeroberfläche stabil sind.

Sie können sich nicht nur auf Erfahrung/gute Praxis verlassen. Es hilft wirklich, aber es ist nie genug. Sie brauchen nur Feedback.

0

Stellen Sie sicher, dass die Schnittstelle oder die Schnittstellentechnologie (z. B. RPC, COM, CORBA usw.) über einen klar definierten Mechanismus für Upgrades und erweiterte Schnittstellen verfügt.

Zum Beispiel Microsoft hat häufig MyInterface, gefolgt von MyInterfaceEx, von MyInterfaceEx2 gefolgt, etc, etc.

Andere Systeme haben ein Mittel zur Abfrage und für verschiedene Versionen der Schnittstelle (siehe DirectX, für eine Person) zu verhandeln .

1

Versionsnummern.

Definieren Sie eine "vollständige Schnittstelle". Nenne es Version 1.0.

Behebung der Probleme. Nenne es Version 2.0.

Sie sind getrennt. Sie überlappen sich in der Funktionalität, aber sie sind getrennt.

Ja, Sie erhöhen die Anstrengung, beide zu unterstützen. Das heißt, bis Sie 1.0 ablehnen und - schließlich - die Unterstützung stoppen.

Verwandte Themen