разница прокси-функции и обратных вызовов - PullRequest
0 голосов
/ 29 мая 2011

Без обид, но я, возможно, задаю странный вопрос.Я новичок, изучаю продвинутый ООП и запутался в нескольких понятиях.Подойдя к делу.Это может быть смешно.Но может ли кто-нибудь сказать мне точно и правильно, что означает литературный обратный вызов?И чем он отличается от прокси-класса в C ++, который мы используем для сокрытия информации.Заранее извиняюсь, если я неправильно использовал терминологию.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2013

Идея обратного вызова состоит в том, чтобы начать какое-то действие, а затем сделать что-то еще, пока действие не завершится.

Пример из реального мира - позвонить сантехнику для ремонта. Водопроводчик говорит, что они в настоящее время на рабочем месте и не могут увидеть их график на следующий день прямо сейчас. Однако сантехник говорит, что они будут в офисе позже и смогут проверить свое расписание. Затем сантехник обещает перезвонить вам, когда они окажутся в офисе и смогут проверить расписание. Затем вы можете сесть рядом с телефоном и подождать ответного телефонного звонка (блокировка обратного вызова) или прочитать книгу или раскрасить дом до тех пор, пока сантехник не перезвонит (отложенный обратный звонок).

В C функция обратного вызова - это тело функции, которое указывается в качестве обратного вызова. Адрес функции, указатель функции, предоставляется вызываемой функции для выполнения какого-либо действия. Когда действие завершено, вызывается функция обратного вызова, чтобы сделать что-то, обычно некоторую форму очистки и / или уведомления.

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

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

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

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

0 голосов
/ 29 мая 2011

Из Википедия :

A callback - это ссылка на исполняемый код или фрагмент исполняемого кода, который передается в качестве аргумента другому коду.

Что касается прокси-классов , см. этот вопрос .

Это две разные вещи. Экземпляр прокси-класса можно использовать в качестве обратного вызова, но это единственное отношение, которое я вижу между ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...