Что бы вы назвали «обратным вызовом» или «закрытием» в целом? - PullRequest
1 голос
/ 23 февраля 2010

Какое ключевое слово / тег мы должны использовать для их описания, когда мы делаем для них заметки.

Если они относятся к категории "разработка программного обеспечения", уместно ли это?

@ edit : Это больше о том, как вы классифицируете вещи. Когда вы учитесь, появляется некоторая терминология, так какую категорию вы будете назначать в своей собственной онтологии?

Ответы [ 3 ]

2 голосов
/ 23 февраля 2010

Да, я подозреваю, что здесь я покажу свою глупость, но в любом случае:

  • «обратный вызов» : функция (A) передана другой функции (B), которая будет вызываться в B для выполнения работы.
  • «замыкание» : функция, которая захватывает значение переменных из области, в которой оно было определено

Надеюсь, что определение их поможет вам классифицировать их - я не думаю, что термины «обратный вызов» и «закрытие» на самом деле означают одно и то же, хотя оба они могут относиться к одному и тому же в зависимости от контекста.

Я сделал этот ответ на вики-сообществе, поэтому не стесняйтесь редактировать его, пока он не станет правильным.

Обратный вызов

закрытие

  • http://en.wikipedia.org/wiki/Closure_(computer_science)

    Термин закрытие часто ошибочно используется для обозначения анонимной функции. Вероятно, это связано с тем, что большинство языков, реализующих анонимные функции, позволяют им создавать замыкания, и программисты обычно знакомятся с обеими концепциями одновременно. Это, однако, отдельные понятия

0 голосов
/ 24 февраля 2010

Я считаю «замыкания» и «обратные вызовы» связанными, но нигде не эквивалентными.Самый низкий общий знаменатель между двумя, я бы сказал, «функциями высшего порядка», которые имеют место в «Функциональном программировании».

http://en.wikipedia.org/wiki/Higher_order_functions

http://en.wikipedia.org/wiki/Functional_programming

0 голосов
/ 24 февраля 2010

Я думаю Указатель на функцию можно использовать в качестве тега для "обратного вызова" или "замыканий".

...