2010-05-26 32 views
2

J'ai rencontré des API fluides tout en étudiant les DSL.
J'ai beaucoup cherché sur les API courantes ... la conclusion de base que je pouvais tirer était que couramment une API utilise la méthode de chaînage afin de rendre le code fluide.
Mais je ne peux pas comprendre - dans les langages orientés objet, nous pouvons toujours créer un objet et appeler les méthodes qui s'y rapportent. Alors, comment une API fluide est-elle différente? Quelles autres caractéristiques une API fluide ajoute-t-elle?Comment les API sont-elles différentes des autres API?

Répondre

1

Avec une interface fluide, vous écrivez des méthodes qui renvoient l'objet que la méthode a été invoquée sur (généralement auto ou cette) et gérer les valeurs traditionnelles de retour en tant que changement d'état dans cet objet. Si vous regardez par exemple certaines des bibliothèques Javascript qui utilisent une interface fluide, il est beaucoup plus facile de gérer les listes et les valeurs nulles car elles peuvent être traitées de la même manière que vous le feriez pour un seul objet. L'inconvénient des interfaces fluides est qu'elles ont tendance à créer des objets dieux monolithiques qui ont tout un tas de responsabilités. Je ne voudrais pas qu'ils soient utilisés partout (à cause du problème d'objet dieu) mais ils sont gentils de temps en temps.

1

Votre question est traitée dans le Fluent Interface blog post by Martin Fowler d'origine. Le fait est que la maîtrise de l'API fluide vient du domaine d'un langage spécifique au domaine, et pas seulement du chaînage des méthodes.