jQuery方法是否是流畅编程的一个例子?

时间:2010-08-03 17:13:32

标签: jquery fluent-interface method-chaining

我对JavaScript / jQuery有点新鲜,但是当我看到方法链接的例子时,它立刻让我感到很熟悉。 LINQ等其他接口也做类似的事情,其中​​一组方法的返回类型与它们运行的​​类型相同(TweetSharp做了非常相似的事情)。这是流畅编程的一个例子吗?我读到的关于jQuery的大部分内容都说其他库已经“借用”了这种方法链接的想法 - 这个想法是否源于jQuery?

3 个答案:

答案 0 :(得分:6)

jQuery确实严重遵循builder pattern / fluent interface,但它肯定不是整个设计模式的先驱。其他库可能在jQuery之后跟随并借用了它的方法。这只是jQuery的成名,它使它看起来像是用jQuery创建的。

答案 1 :(得分:2)

单独链接不能提供流畅的界面。 "fluent interface"这个词似乎已经被马丁福勒推广,后者是当代软件理论作者之一(尽管他没有发明这种技术)。

Fowler澄清方法链接只是指返回对象引用的方法,而流畅的接口更类似于特定于域的语言,并且(理想情况下)设计为更像自然语言而不是代码。

答案 2 :(得分:1)

JQuery当然没有发明方法链;它已经可以在JavaScript和许多其他语言中使用。

在JQuery的许多人看来,方法链可能合法化。许多Java程序员仍然坚持认为对象的函数应该只返回其他对象,而不是对象本身。正如我在10年前回忆起的那样,我已经从Java邮件列表中修改了建议否则:)