我对JavaScript/jQuery有点新鲜,但是当我看到方法链的例子时,它让我感到非常熟悉。像LINQ这样的其他接口在一组方法的返回类型与它们所使用的类型相同的情况下做了类似的操作(TweetSharp的做法非常相似)。这是流利编程的例子吗?我读过的关于jQuery的大部分内容都说其他库已经“借用”了这种方法链接的想法 - 这个想法是否源于jQuery?jQuery方法链接流利编程的例子吗?
4
A
回答
6
jQuery确实严重遵循builder pattern/fluent interface,但它肯定不是整个设计模式的先驱。其他图书馆可能会在jQuery之后采用其方法。这只是jQuery所做的名气,它使得它看起来像jQuery一样。
2
单独链接不会形成流畅的界面。术语"fluent interface"似乎已经被马丁福勒所推广,马丁福勒是软件理论中比较多产的当代作者之一(尽管他也没有发明这种技术)。
Fowler澄清说,方法链只是指返回对象引用的方法,而流畅的接口更类似于领域特定的语言,并且(理想情况下)设计为更像自然语言而不是代码。
1
JQuery肯定没有发明方法链;它已经可以在JavaScript和许多其他语言中使用。
方法链也许是在很多人眼中被JQuery合法化的。很多Java程序员仍然坚持一个对象的函数只应该返回其他对象,而不是对象本身。正如我记得10年前,我改变了一个Java邮件列表,建议否则:)
相关问题
- 1. 条件构建器方法链接流利的接口
- 2. 流利的API和方法,链接样式使用
- 3. 流并行跳过 - 链接流方法的顺序有什么区别吗?
- 4. Runner方法作为方法链接的替代方法吗?
- 5. jQuery的点击一个链接编程
- 6. 克隆实例并链接方法调用,可能吗?
- 7. 链接方法时可以使用实例变量吗?
- 8. 流利的NHibernate,引用硬编码的C#方法
- 9. 格式化流利/法在F#链接从C#代码
- 10. 利用链接
- 11. 流利的方法库,用于C#
- 12. 在python中链接实例方法
- 13. 链接jQuery的模板appendTo方法
- 14. 使用实例方法以编程方式添加子视图
- 15. 有些地方比其他地方更有利于编程吗?
- 16. System.out.println - 此方法链接在Java中吗?
- 17. 向超链接添加子例程无法正常工作
- 18. jQuery采取了一种倒退方法来进行方法链接吗?
- 19. 流利的nHibernate和接口
- 20. 链接方法&&
- 21. 以编程方式将链接添加到Excel电子表格
- 22. 方法链接和流畅接口之间的区别
- 23. 用于链接字符串方法的Java流畅接口
- 24. 如何以编程方式触发点击链接使用jQuery?
- 25. 编程方法谷歌索引我的链接或不是
- 26. JavaFX有流行的应用程序的例子吗?
- 27. 链接列表子串方法问题
- 28. 公共方法+ c#+流利nhibernate + asp.net
- 29. 以编程方式链接CNContacts
- 30. 添加方法链接在jQuery插件
是的,但我认为这种方法是在jQuery之前。但我现在并不完全知道你的*流利编程*的含义。听起来更像是高速编程;) – 2010-08-03 17:15:21