2011-07-04 1 views
0

L'exemple le plus évident est jQuery où le résultat d'une fonction est l'objet modifié, auquel vous pouvez appliquer des fonctions identiques ou différentes. Un exemple ci-dessous est tiré du blog de dan, mais les exemples abondent sur Internet.Existe-t-il un terme générique pour la programmation chaînée?

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(); 

Y a-t-il de la documentation disponible sur cette technique? J'ai seulement vu ceci être utilisé d'une manière impérative (si vous appelez $ inner.append ($ moreInner) $ inner est modifié). Serait-il sensé d'utiliser une approche fonctionnelle avec ce type de programmation (ie garder l'état des objets inchangé et retourner un clone de l'objet modifié).

Cordialement, Jeroen

Répondre

3

La technique est généralement appelée Method Chaining. Dans votre exemple ci-dessus fait partie d'un Fluent Interface

+0

FWIW, Smalltalk (Squeak, au moins) avait une construction de langage appelée cascading qui me semble être le même genre d'idée au niveau du langage. –

Questions connexes