4

我对 JavaScript/jQuery 有点陌生,但是当我看到方法链接的例子时,我立刻就觉得很熟悉。其他接口(如 LINQ)执行类似的操作,其中一组方法的返回类型与它们操作的类型相同(TweetSharp 执行的操作非常相似)。这是流畅编程的一个例子吗?我读到的关于 jQuery 的大部分内容都说其他库已经“借用”了这种方法链接的想法——这个想法是否起源于 jQuery?

4

3 回答 3

6

jQuery 确实在很大程度上遵循了构建器模式/流畅的界面,但它本身肯定不是设计模式的先驱。其他库很可能在 jQuery 之后效仿并借鉴了它的方法。正是 jQuery 声名鹊起,才使它看起来像是源自 jQuery。

于 2010-08-03T17:18:13.440 回答
2

单独的链接并不能形成流畅的界面。“流畅的界面”一词似乎已被 Martin Fowler 推广,他是当代软件理论方面最多产的作者之一(尽管他也没有发明该技术)。

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

于 2010-08-03T17:28:05.630 回答
1

JQuery 当然没有发明方法链。这在 JavaScript 和许多其他语言中已经成为可能。

在许多人看来,JQuery可能使方法链接合法化。许多 Java 程序员仍然坚持对象的函数应该只返回 其他对象,而不是对象本身。回想 10 年前,我从 Java 邮件列表中修改了其他建议:)

于 2010-08-03T17:59:33.090 回答