2013-02-25 73 views
0

jQuery中,我们经常这样做:这些代码遵循什么设计模式?

$('#el1').css('margin-left','5px').attr('title','test title').removeClass('class1'); 
在Java中的StringBuilder

,同上:

StringBuilder builder = new StringBuilder(); 
builder.append("str1").insert(0, 'A').deleteCharAt(2); 

所以,这段代码遵循什么设计模式?

回答

5

这是the fluent interface模式的应用。

+1

...这是一个绝妙的主意。 [Martin Fowler的文章](http://www.martinfowler.com/bliki/FluentInterface.html)比维基百科更具描述性。 – 2013-02-25 03:14:09

+0

我虽然它是一个Builder设计模式作为sated [here](http://stackoverflow.com/a/2707195/1065197)。 – 2013-02-25 04:23:05

+1

@LuiggiMendoza [builders经常使用流畅的界面。](http://en.wikipedia.org/wiki/Builder_pattern#Useful_tips)'StringBuilder'是一个流畅的'String'构建器,它应该对您。 – 2013-02-25 04:25:24

0

它被称为OOP语言中的方法链/命名参数习语。 请参阅http://en.wikipedia.org/wiki/Method_chaining

+0

我不同意你和维基百科文章在调用这个“命名参数”。 **这是**命名参数:http://en.wikipedia.org/wiki/Named_pa​​rameter – 2013-02-25 03:31:22

+0

http://stackoverflow.com/questions/1988016/named-parameter-idiom-in-java – JRR 2013-02-25 03:34:00

+0

这很有趣,因为http ://stackoverflow.com/questions/1988016/named-parameter-idiom-in-java#comment1905024_1988035 – 2013-02-25 03:34:48