2013-02-25 74 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