API in C # für Meine Anwendung schreiben

7

Ich werde eine Anwendung schreiben, aber ich habe es noch nie erlebt, dass Leute meine Anwendungsprogrammierschnittstelle vorher benutzen konnten. Ich meine, wie ein Design ich machen sollte, um Leute meine Methoden von der Außenwelt wie API verwenden zu lassen.

Bitte zeigen Sie mir einen Weg. Ich bin irgendwie neu.

    
Tarik 22.07.2009, 20:50
quelle

6 Antworten

18
  1. Expose so wenig wie möglich. Jedes Bit, das du veröffentlichst, wird in der nächsten Version zu x100 zurückkehren. Die Kompatibilität ist sehr schwierig.
  2. Erstellen Sie Abstraktionen für alles, was Sie veröffentlichen. Sie werden Ihre Interna definitiv ändern, aber Ihre bestehenden Benutzer sollten kompatibel bleiben.
  3. Markieren Sie alles als intern. Auch die Hauptmethode Ihrer Anwendung. Jede einzelne Methode, die verwendet werden könnte, wird verwendet.
  4. Testen Sie Ihre öffentliche API auf dieselbe Weise wie für Schnittstellen. Integrationstests und so weiter. Beachten Sie, dass Ihre API in unvorhersehbarer Weise verwendet wird.
  5. Maximieren Sie die Konvention gegenüber der Konfiguration. Dies ist erforderlich. Auch wenn Ihre API eine einzige Methode ist, müssen Sie dies dennoch unterstützen. Macht dein Leben einfacher.
  6. Unterschreiben Sie, und nennen Sie Ihre Versammlungen, dies ist eine gute Übung.
  7. Beheben Sie so viele FxCop- und StyleCop-Fehler wie möglich.
  8. Überprüfen Sie, ob Ihre API mit den Naming Guidelines Ihrer Plattform kompatibel ist.
  9. Geben Sie so viele Beispiele wie möglich an und denken Sie daran, dass die meiste Verwendung Ihrer API in diesen Beispielen Strg + C und Strg + V ist.
  10. Versuchen Sie, eine Dokumentation bereitzustellen. Stellen Sie sicher, dass Sie keine automatisch generierte Dokumentation im GhostDoc-Stil haben. Jeder hasst das.
  11. Fügen Sie Informationen hinzu, wie Sie zu finden sind.
  12. Machen Sie sich keine Gedanken über die Verschleierung. Dies wird Ihnen und Ihren Benutzern helfen.

HINZUGEFÜGT

  1. API sollte so wenig Abhängigkeiten wie möglich haben. Zum Beispiel sollten Abhängigkeiten von den IoC-Containern verboten sein. Wenn Ihr Code es intern verwendet. Einfach in Ihre Baugruppen einfügen.
Mike Chaliy 22.07.2009, 21:07
quelle
5

Es ist vielleicht nicht die lustigste Lektüre und sicherlich nicht die einzige Lektüre zu diesem Thema, aber beim Entwerfen Ihrer Klassenbibliothek (Ihrer API) sollten Sie sich mit dem Design-Richtlinien für die Entwicklung von Klassenbibliotheken hin und wieder, es ist eine gute Idee, ein Design zu haben, das ein bisschen mit dem .NET Framework selbst übereinstimmt / p>     

Fredrik Mörk 22.07.2009 20:55
quelle
3

Machen Sie Ihre Methoden, die Sie der Außenwelt zugänglich machen möchten, public .

    
Paul Sonier 22.07.2009 20:54
quelle
3

Ich fand diese Präsentation besonders aufschlussreich:

Wie man eine gute API gestaltet und warum es wichtig ist
Ссылка

    
Robert Harvey 22.07.2009 21:00
quelle
2

Eine Möglichkeit besteht darin, eine DLL für Ihre Hauptfunktionalität zu erstellen, die andere verwenden, und eine EXE, die die Methoden in der DLL aufruft. Wenn Sie möchten, dass Ihre Anwendung Plug-Ins unterstützt, sehen Sie sich den an System.AddIn Namensraum.

    
Mark Cidade 22.07.2009 21:19
quelle
1

Wenn Sie sehen möchten, was in diesem Bereich neu ist, lesen Sie das Managed Extensibility Framework . Es handelt sich um eine neue / "vereinheitlichte (siehe Kommentare ...)" Methode zum Freilegen von Features für Add-Ins und andere Erweiterbarkeit / Modularität.

    
Sam Harwell 22.07.2009 20:57
quelle

Tags und Links