7 votes

Écriture d'une API en C# pour mon application

Je vais écrire une application mais je n'ai jamais fait l'expérience de permettre aux gens d'utiliser mon interface de programmation d'application avant.je veux dire quel type de conception je dois faire pour permettre aux gens d'utiliser mes méthodes du monde extérieur comme API.

Je suis un peu novice en la matière.

18voto

Mike Chaliy Points 8694
  1. Exposez le moins possible. Chaque élément que vous publiez vous reviendra x100 dans la version suivante. Il est très difficile de maintenir la compatibilité.
  2. Créez des abstractions pour tout ce que vous publiez. Vous modifierez certainement votre structure interne, mais vos utilisateurs actuels devraient rester compatibles.
  3. Marquer tout comme interne. Même la méthode principale de votre application. Chaque méthode qui pourrait être utilisée le sera.
  4. Testez votre API publique de la même manière que vous le feriez pour les interfaces. Tests d'intégration, etc. Notez que votre API sera utilisée de manière imprévisible.
  5. Privilégier la convention à la configuration. C'est indispensable. Même si votre API est une méthode unique, vous devrez toujours la prendre en charge. Cela vous simplifie la vie.
  6. Signez et donnez un nom fort à vos assemblées, c'est une bonne pratique.
  7. Résoudre le plus grand nombre possible d'erreurs FxCop et StyleCop.
  8. Vérifiez que votre API est compatible avec les directives de dénomination de votre plateforme.
  9. Fournissez autant d'exemples que possible et rappelez-vous que la plupart des utilisations de votre API seront Ctrl+C et Ctrl+V à partir de ces exemples.
  10. Essayez de fournir de la documentation. Vérifiez que vous n'avez pas de documentation générée automatiquement à la manière de GhostDoc. Tout le monde déteste cela.
  11. Inclure des informations sur la manière de vous trouver.
  12. Ne vous embarrassez pas d'obscurité. Cela vous aidera, vous et vos utilisateurs.

AJOUTÉ

  1. API doit avoir le moins de dépendances possible. Par exemple, les dépendances sur les conteneurs IoC doivent être interdites. Si votre code l'utilise en interne. Il suffit de les fusionner dans vos assemblées.

5voto

Fredrik Mörk Points 85694

Ce n'est peut-être pas la lecture la plus amusante, et certainement pas la seule à faire sur le sujet, mais lorsque vous concevez votre bibliothèque de classes (votre API), vérifiez avec la Lignes directrices pour le développement de bibliothèques de classes De temps en temps, il est bon d'avoir un design qui corresponde un peu au cadre .NET lui-même.

3voto

Paul Sonier Points 25528

Définissez les méthodes que vous souhaitez exposer au monde extérieur. public .

3voto

Robert Harvey Points 103562

J'ai trouvé cette présentation particulièrement instructive :

Comment concevoir une bonne API et pourquoi c'est important
http://lcsd05.cs.tamu.edu/slides/keynote.pdf

2voto

Mark Cidade Points 53945

Une façon de procéder consiste à créer une DLL pour votre fonctionnalité principale, que d'autres utiliseront, et un EXE qui appelle les méthodes de la DLL. Si vous souhaitez que votre application prenne en charge les modules d'extension, jetez un coup d'œil à l'application System.AddIn l'espace de noms.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X