Création d'une API en Java pour la première fois


On m'a confié la tâche de concevoir une liste d'API à utiliser par une interface graphique que je dois développer, afin de communiquer avec une application externe. Considérant que l'application vient d'être conçue et que j'ai son diagramme de classe initial, devrais-je:

1-Il suffit de lister les champs et les méthodes de ce diagramme de classes d'application qui seront nécessaires à l'interface graphique pour communiquer avec l'application

Ou

2-Créer une liste de champs et de méthodes complètement nouveaux nécessaire par l'interface graphique pour communiquer avec l'application que le développeur de l'application doit créer

Merci d'avance!!!

Author: Anto, 2009-12-29

4 answers

"Il suffit de lister les champs et les méthodes de ce diagramme de classes d'application qui seront nécessaires à l'interface graphique pour communiquer avec l'application"

Cela fonctionne très bien.

Après cela, essayez d'écrire de la documentation with avec des exemples détaillés. Si votre documentation est difficile à écrire, déroutante ou boiteuse, vous devez corriger les API pour ajouter des fonctionnalités.

Puis montrez-le à d'autres personnes.

Si les gens sont confus ou se plaignent, vous devrez peut-être ajouter des éléments supplémentaires les fonctionnalités de l'API.

Jusqu'à ce que les gens soient réellement confus ou se plaignent réellement, ne faites rien de plus que le minimum.

 13
Author: S.Lott, 2009-12-29 15:09:08

L'un des meilleurs guides de conception d'API que j'ai lu est " Le Petit Manuel de conception d'API" (PDF), qui contient des excellents, des conseils neutres sur la façon de créer une API pour une application ou un service. Certains des conseils les plus importants qu'il donne sont:

  • créer des cas d'utilisation avant de commencer à coder l'API elle-même;
  • obtenez un examen par les pairs de la conception de l'API avant de la coder;
  • écrivez des exemples sur l'API pour tester sa robustesse.

Le le premier conseil est le meilleur, à mon humble avis; il vous empêche de coder une API qui fournit le monde lorsque tous vos cas d'utilisation nécessitent une petite partie de ce monde. Cela vous oblige également à réfléchir à la façon dont il sera utilisé et à prendre des décisions de conception basées sur ces utilisations plutôt que sur l'abstrait.

 18
Author: delfuego, 2013-09-27 12:03:54

Je spécifierais une interface . Cela découple l'interface graphique et les applications.

L'interface GRAPHIQUE n'utilisera que l'interface (à l'exception d'un appel à une méthode factory qui renvoie un objet concret) et l'API implémentera l'interface. Comme aucun des noms de classe de l'application est connue pour l'interface graphique. Cela conduit à une conception stable qui est la plus adaptée à l'évolution future.

De plus, l'interface sert de documentation intéressante de l'API complète.

 7
Author: akuhn, 2009-12-29 15:13:11

Je rendrais l'API (semi-)indépendante de l'implémentation de l'interface graphique, car plus tard, vous voudrez peut-être créer une interface différente pour la même application, ou simplement changer l'interface graphique, et vous êtes coincé avec tout ce que vous avez créé pour la première passe de votre première interface graphique.

Aussi, je recommande fortement de jeter un oeil à Josh Bloch parler de la conception de l'API. Bloch est le gars qui a conçu l'API Java Collections.

 6
Author: jqno, 2009-12-29 15:12:16