开发者

Is there a generic term for chained programming?

开发者 https://www.devze.com 2023-03-18 09:27 出处:网络
Most obvious example is jQuery where the result of a function is the modified object, to which you can apply same or different functions. An example below is from dan\'s blog, but examples are abundan

Most obvious example is jQuery where the result of a function is the modified object, to which you can apply same or different functions. An example below is from dan's blog, but examples are abundant over the internet.

var $inner = $("<div>inner</div>")
// append it to a new outer div
  .appendTo("<div>outer</div>")
// next change the jQuery chain to the "outer" div 
  .parent()
    // append the outer div to the body
    .appendTo("body")
// finally, go back to the last destructive command, 
// giving us back a pointer to the "inner" div
  .end();

Is there literature available on this technique? I'have only seen this being used in an imperative way (if you'd call $inner.append($moreInner) $inner is modified). Would it make sense to use an functional 开发者_JAVA百科approach with this kind of programming (ie keep the state of the objects unaltered and return a clone of the modified object).

regards, Jeroen


The technique is generally called Method Chaining. In your example above is forms part of a Fluent Interface


It's called a Fluent Interface, see http://en.wikipedia.org/wiki/Fluent_interface

0

精彩评论

暂无评论...
验证码 换一张
取 消