Есть ли общий термин для связанного программирования? - PullRequest
0 голосов
/ 04 июля 2011

Наиболее очевидным примером является jQuery, где результатом функции является модифицированный объект, к которому вы можете применять одинаковые или разные функции.Пример ниже взят из блога Дэна, но примеров можно найти в Интернете.

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

Есть ли литература по этой технике?Я видел только то, как это используется императивно (если бы вы назвали $ inner.append ($ moreInner), то $ inner модифицируется).Имеет ли смысл использовать функциональный подход с таким типом программирования (т.е. сохранять состояние объектов неизменным и возвращать клон модифицированного объекта).

regards, Jeroen

Ответы [ 2 ]

3 голосов
/ 04 июля 2011

Техника обычно называется Метод цепочки .В приведенном выше примере является частью Fluent Interface

2 голосов
/ 04 июля 2011

Это называется Свободный интерфейс , см. http://en.wikipedia.org/wiki/Fluent_interface

...