|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre expérimenté
![]() ![]() Inscription : mai 2002 Messages : 379 ![]() |
Bonjour,
Je suis en train de concevoir une application qui devra être piloté par d'autre applications qui serons développés par d'autres développeurs. Je suis un peu vague, je sais... Jusque là rien de particulier. Sauf que je n'ai pas d'expérience dans la conception d'une API pour mes futures clients ! J'ai donc commencé à me documenter sur les BestPractice concernant la conception d'une API et j'ai aussi regardé comment font les autres. J'ai étudier les API de Google ainsi que leur clients C# ! Exemple avec l'API Task http://code.google.com/apis/explorer/#_s=tasks&_v=v1 Les namespace en C# de cette API sont : namespace Google.Apis.Tasks.v1.Data namespace Google.Apis.Tasks.v1 Je note que le namespace contient la version de l'API. L'API est décomposé en trois groupes
Les objets Response se trouvent dans le namespace Google.Apis.Tasks.v1.Data et les deux autres dans Google.Apis.Tasks.v1 Google a fait une forte séparation entre les données et les méthodes. P.ex. pour créer une tâche dans une liste. Il faut, 1 - créer la liste Code :
puis on crée la tâche et on l'ajoute à la liste. Code :
Je suis surpris que la méthode insert(...)n'est pas membre de la classe TaskList. On a donc des données et un service avec des méthodes qui permet de manipuler ces dites données. Pourquoi cette séparations ? Est-ce-que c'est la règle lorsque l'on conçoit une API ? Merci d'avance pour vos feedback. Au plaisir de vous lire. |
||||
|
|
00
|
|
|
#2 | |
|
Membre éprouvé
![]() Inscription : janvier 2011 Messages : 156 ![]() |
Citation:
Absolument pas. Une présentation sympa sur la création d'API : les slides : http://www.scribd.com/doc/33655/How-to-Design-a-Good-API-and-Why-it-Matters |
|
|
|
10
|
|
|
#3 |
|
Membre expérimenté
![]() ![]() Inscription : mai 2002 Messages : 379 ![]() |
Merci pour la présentation...je vais la regarder tranquillement.
J'ai eu un autre feedback, en dehors de ce forum, concernant cette séparations, et on m'a répondu : "Que cela permet d'être indépendant du langage qui va utiliser l'API" |
|
|
00
|
|
|
#4 | |
|
Membre éprouvé
![]() Inscription : janvier 2011 Messages : 156 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Membre expérimenté
![]() ![]() Inscription : mai 2002 Messages : 379 ![]() |
Non pas plus, mais j'en ai déduis que c'est pour les langages non-objets !
|
|
|
00
|
|
|
#6 | |
|
Expert Confirmé Sénior
![]() Inscription : juin 2008 Messages : 3 710 ![]() |
Citation:
On peut très bien imaginer écrire "TaskList.InsertTask()" "par dessus" mais dans ce cas on déborde de la simple proxy/façade de l'API ReST. - W
__________________
Architectures Post-Modernes |
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com